/* js/tools/quote/quote.css — o orcamento (v427): o estimador (linhas no padrao da lista opcao A, v426) e a brochura do cliente (o estilo do
   estimador-brochura: capa azul, titulos em serifa, cartoes com o desenho). Nada de cor solta: as do app (--accent, --line, --ink, --muted). */
/* v680 (brochura em 3 designs, D8): as fontes da proposta na TELA (a mesa: telefone, iPad, PC) — Outfit nos titulos e numeros grandes, Inter no texto, as do site
   a1window.com. Locais (public/fonts/, latin, variaveis 100–900, licenca OFL; na SHELL do sw.js: valem offline). O PDF e o portal ficam em Arial (o conversor do Google). */
@font-face{font-family:"Outfit";font-style:normal;font-weight:100 900;font-display:swap;src:url(../../../fonts/outfit-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../../../fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.qt{display:flex;flex-direction:column;gap:12px}
.qt-views{display:flex;width:max-content;max-width:100%}
.qt-body{display:flex;flex-direction:column;gap:12px}
.qt-msg{margin:6px 2px;font-size:14px;color:var(--ink2)} .qt-msg.qt-bad{color:#b91c1c}

/* v697 — o Job setup (esboco "mapa e esboco do operador", Q1 · M1 · M2): a serie (as 3 sempre, R3), o vidro de todas as janelas padrao e o imposto (+ o markup
   com o Cost ligado) num cartao so. Cores fixas, claro em todo tema. O cartao e' um <dialog>: lista larga (720 px ou mais, @container qts) = no lugar, em 3
   colunas; lista estreita = fechado, e as pilulas (o resumo) o abrem como folha de baixo (showModal: fica por cima de tudo, fora do backdrop-filter dos temas) */
.qt-setupw{container:qts / inline-size}
.qt-pills{display:flex;gap:8px;overflow-x:auto;padding:1px 0 3px;scrollbar-width:none}
body .qt-pills button.qt-pill.qt-pill[data-qt-setopen]:not(#sheetload){flex:none;display:inline-flex;align-items:center;gap:6px;height:38px;min-height:0;margin:0;padding:0 13px;border:1px solid #c9d0db;border-radius:999px;background:#fff;color:#1d2433;font:600 13px/1 Archivo,sans-serif;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.qt-pill b{font-weight:800;color:#2c4a78}
dialog.qt-setup{margin:0;padding:0;border:0;max-width:none;max-height:none;background:#fff;color:#1d2433;font-family:"Source Sans 3",sans-serif}
dialog.qt-setup:modal{position:fixed;inset:auto 0 0 0;width:min(100%,560px);margin:0 auto;max-height:88vh;overflow:auto;border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.25)} /* iPad em pe: a folha ate 560 px (regra 7 do esboco) */
dialog.qt-setup::backdrop{background:rgba(29,36,51,.45)}
.qt-sin{display:flex;flex-direction:column;gap:14px;padding:8px 16px calc(18px + env(safe-area-inset-bottom,0px))}
.qt-sin::before{content:"";align-self:center;width:40px;height:5px;border-radius:3px;background:#c9d0db}
.qt-sbar{display:flex;align-items:center;gap:8px} .qt-sbar b{flex:1;font:800 18px/1.2 Archivo,sans-serif}
body dialog.qt-setup button.qt-sdone.qt-sdone[data-qt-setx]:not(#sheetload){min-width:64px;height:44px;min-height:0;margin:0 -8px 0 0;padding:0 8px;border:0;border-radius:10px;background:transparent;color:#2c4a78;font:700 15px/1 Archivo,sans-serif;cursor:pointer}
.qt-sgs{display:flex;flex-direction:column;gap:14px}
.qt-sg{display:flex;flex-direction:column;gap:7px;min-width:0}
.qt-sgh{margin:0;font:700 11px/1.2 Archivo,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#5f6b7d}
.qt-sers{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
body .qt-setup button.qt-ser.qt-ser[data-qt-ser]:not(#sheetload),body .qt-setup button.qt-ser.qt-ser[data-qt-kind]:not(#sheetload){display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;min-height:0;margin:0;padding:10px 12px;border:1px solid #d3d9e2;border-radius:11px;background:#fff;color:#1d2433;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
body .qt-setup button.qt-ser.qt-ser[data-qt-ser][aria-pressed="true"]:not(#sheetload),body .qt-setup button.qt-ser.qt-ser[data-qt-kind][aria-pressed="true"]:not(#sheetload){padding:9px 11px;border:2px solid #2c4a78;background:#f4f7fc}
/* v716 (A1): o tipo da cotacao — os mesmos cartoes das series; o rotulo em cinza (azul no escolhido) e a linha de baixo diz o que o tipo tem, em texto comum */
.qt-kinds .qt-ser small{color:#5f6b7d} .qt-kinds .qt-ser[aria-pressed="true"] small{color:#2c4a78} .qt-kinds .qt-ser span{font-weight:500;font-size:12px}
/* v716 (P1): no Install only a 1a pilula do telefone e' escura */
body .qt-pills button.qt-pill.qt-pill.qt-pio[data-qt-setopen]:not(#sheetload){background:#1d2433;border-color:#1d2433;color:#fff} .qt-pill.qt-pio b{color:#fff}
.qt-ser small{font:700 10px/1.2 Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8a6d2f}
.qt-ser b{max-width:100%;font:700 15px/1.25 Archivo,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .qt-ser span{font:600 13px/1.3 "Source Sans 3",sans-serif;color:#5f6b7d;font-variant-numeric:tabular-nums}
.qt-ser[aria-pressed="true"] b::after,.qt-setup .qt-gcard[aria-pressed="true"] b::after{content:" ✓"} .qt-ser[aria-pressed="true"] span{color:#2c4a78}
.qt-setup .qt-gcards{display:flex;gap:8px}
body .qt-setup button.qt-gcard.qt-gcard[data-qt-gl]:not(#sheetload){flex:1 1 0;min-width:0;gap:1px;margin:0;padding:10px 12px;border:1px solid #d3d9e2;border-radius:11px;background:#fff;color:#1d2433;box-shadow:none;cursor:pointer;touch-action:manipulation}
body .qt-setup button.qt-gcard.qt-gcard[data-qt-gl][aria-pressed="true"]:not(#sheetload){padding:9px 11px;border:2px solid #2c4a78;background:#f4f7fc}
body .qt-setup button.qt-gcard.qt-gcard[data-qt-gl]:disabled:not(#sheetload){opacity:.55;cursor:default}
.qt-setup .qt-gcard small{order:-1;font:700 10px/1.2 Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8a6d2f}
.qt-setup .qt-gcard b{font:700 15px/1.25 Archivo,sans-serif} .qt-setup .qt-gcard span{margin:0;font:600 13px/1.3 "Source Sans 3",sans-serif;color:#5f6b7d;font-variant-numeric:tabular-nums} .qt-setup .qt-gcard[aria-pressed="true"] span{color:#2c4a78}
.qt-setup .qt-gnote{margin:0;font-size:12px;line-height:1.35;color:#8a4a06} .qt-setup .qt-gnote[hidden]{display:none}
.qt-cfg{display:flex;gap:8px}
.qt-cfgf{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px;padding:7px 12px;border:1px solid #d3d9e2;border-radius:10px;background:#fff;font:600 11px/1.2 Archivo,sans-serif;color:#5f6b7d}
.qt-setup .qt-cfgf input{width:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font:700 17px/1.25 Archivo,sans-serif;color:#1d2433;font-variant-numeric:tabular-nums}
.qt-cfgh{margin:0;font-size:11.5px;line-height:1.35;color:#8a93a0} .qt-cfgh[hidden]{display:none}
/* no telefone a folha mostra as series como lista com o redondo de escolha (M2) */
dialog.qt-setup:modal .qt-sers{grid-auto-flow:row;grid-auto-columns:auto}
body dialog.qt-setup:modal button.qt-ser.qt-ser[data-qt-ser]:not(#sheetload),body dialog.qt-setup:modal button.qt-ser.qt-ser[data-qt-kind]:not(#sheetload){display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"rd sl st" "rd sn st";column-gap:12px;align-items:center;min-height:58px}
body dialog.qt-setup:modal .qt-kinds button.qt-ser.qt-ser[data-qt-kind]:not(#sheetload){grid-template-columns:22px minmax(0,1fr);grid-template-areas:"rd sl" "rd sn" "rd st"} /* v716 (M2): no tipo a linha de baixo e' texto, embaixo do nome (nao um preco a direita) */
dialog.qt-setup:modal .qt-kinds .qt-ser span{font:500 12px/1.3 "Source Sans 3",sans-serif;color:#5f6b7d}
dialog.qt-setup:modal .qt-ser::before{content:"";grid-area:rd;width:22px;height:22px;box-sizing:border-box;border:2px solid #9aa3b0;border-radius:50%}
dialog.qt-setup:modal .qt-ser[aria-pressed="true"]::before{border:7px solid #2c4a78}
dialog.qt-setup:modal .qt-ser small{grid-area:sl} dialog.qt-setup:modal .qt-ser b{grid-area:sn} dialog.qt-setup:modal .qt-ser span{grid-area:st;font:700 14px/1.2 Archivo,sans-serif}
dialog.qt-setup:modal .qt-ser[aria-pressed="true"] b::after{content:none}
/* v785 (esboco "Quote: a lista primeiro", S1, aprovado 30/10): o cartao no lugar da lista larga SAIU — no PC e no iPad tambem as pilulas (o resumo numa
   linha) abrem a MESMA folha do telefone; a tela larga (720 px ou mais) a mostra no meio, com os cantos redondos e sem a alca */
@media (min-width:720px){
  dialog.qt-setup:modal{inset:0;margin:auto;height:fit-content;border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.28)}
  dialog.qt-setup:modal .qt-sin{padding-top:14px} dialog.qt-setup:modal .qt-sin::before{display:none}
}
@container qts (min-width:720px){ .qt-pills{flex-wrap:wrap;overflow:visible} }
.qt-pill em{font-style:normal;font-weight:500;color:#5f6b7d} /* v785 (S1): o Markup × (so com o Cost ligado) e' uma pilula a mais — o nome em cinza */
/* v787 (esboco "Quote: a lista primeiro", K1): a faixa de numeros no topo da Estimate — so na coluna larga (560 px ou mais: 3 por linha; 780 px ou mais:
   todos numa linha). Cores fixas, claro em todo tema (como a lista): o Total azul, o desconto verde, a Margin (so o vendedor) com o fundo cinza */
.qt-kpiw{container:qtk / inline-size} .qt-kpi{display:none}
@container qtk (min-width:560px){
  .qt-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid #d3d9e2;border-radius:12px;overflow:hidden;background:#e6e9ef}
  .qt-kt{display:flex;flex-direction:column;gap:1px;min-width:0;margin:0;padding:8px 12px;background:#fff;color:#1d2433}
  .qt-kt small{font:600 12px/1.2 "Source Sans 3",sans-serif;color:#5f6b7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .qt-kt b{font:700 19px/1.2 Archivo,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .qt-kt i{min-height:15px;font:500 12px/1.25 "Source Sans 3",sans-serif;font-style:normal;color:#5f6b7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .qt-kt.qt-kt-dis b,.qt-kt.qt-kt-dis i{color:#1a6b3c}
  .qt-kt.qt-kt-tot{background:#2c4a78;color:#fff} .qt-kt.qt-kt-tot small,.qt-kt.qt-kt-tot i{color:#dbe5f3}
  .qt-kt.qt-kt-cost{background:#f1f3f6}
  .qt-kt:last-child:nth-child(3n+2){grid-column:span 2} .qt-kt:last-child:nth-child(3n+1){grid-column:span 3} /* sem buraco na 2a linha (o Cost desligado = 5 quadros) */
}
@container qtk (min-width:780px){ .qt-kpi{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)} .qt-kt:last-child:nth-child(n){grid-column:auto} }
.qt-in{min-height:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font:600 14px/1.2 "Source Sans 3",sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}

/* as linhas: numero · desenho · medida e tipo · preco a direita */
/* v696 (esboco "mapa e esboco do operador", quadro 7 — L1–L7): a linha vira linha de tabela, branca em todo tema (cores fixas).
   Lista estreita (telefone, a lista ao lado do editor): numero · fora + dentro (o selo 3D ao lado) · medida e tipo com os avisos embaixo · preco com a qtd
   embaixo · a chave. Lista larga (600 px ou mais — PC, iPad deitado): uma coluna por coisa e os nomes das colunas em cima (o @container qtl, mais abaixo).
   L1 o numero cinza · L2 o par pequeno · L3 medida + tipo · peca · L4 avisos (laranja = atencao, vermelho = falta preco) · L5 qtd · L6 preco a direita
   (fora = cinza riscado; sem preco = "—" vermelho) · L7 a chave pequena (cadeado na sem troca) · L+ a aberta no editor = fundo azul e a barra azul */
.qt-list{display:flex;flex-direction:column;container:qtl / inline-size}
.qt-lht{display:flex;align-items:center;gap:8px;margin:0;padding:2px 2px 8px;font-size:13px;color:#5f6b7d} .qt-lht b{font:700 15px/1.2 Archivo,sans-serif;color:var(--ink)} .qt-lht .qt-lr-pin{margin-left:auto}
.qt-lcols{display:none}
.qt-lines{display:flex;flex-direction:column;border-top:1px solid #e6e9ef}
.qt-lrw{position:relative;display:flex;align-items:center;background:#fff;border-bottom:1px solid #e6e9ef}
.qt-lrw.qt-open{background:#eef3fa;box-shadow:inset 3px 0 0 #2c4a78}
.qt-lr{display:grid;grid-template-columns:18px 72px minmax(0,1fr) auto;grid-template-areas:"n ic main p" "n ic chk q";column-gap:8px;row-gap:0;align-items:baseline;align-content:center;flex:1 1 auto;width:100%;min-width:0;min-height:64px;margin:0;padding:6px 0 6px 6px;border:0;border-radius:0;background:transparent;color:#1d2433;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
.qt-lr-n{grid-area:n;align-self:center;font:600 13px/1 Archivo,sans-serif;color:#636b78;font-variant-numeric:tabular-nums}
.qt-lr-ic{grid-area:ic;align-self:center;display:flex;align-items:center;gap:2px;width:72px;padding-right:24px;box-sizing:border-box} .qt-lr-ic svg{max-width:23px;max-height:42px;height:auto} .qt-lr-ic img{max-width:23px;max-height:42px;width:auto;height:auto;display:block;border-radius:3px} /* v489 (Rafael): o par fora + dentro na lista; v696: a sobra da direita e' do selo 3D */
.qt-lr-main{grid-area:main;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;min-width:0}
.qt-lr-t{font:700 16px/1.25 Archivo,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.qt-lr-m{min-width:0;max-width:100%;font-size:12.5px;line-height:1.3;color:#5f6b7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qt-lr-chk{grid-area:chk;display:flex;flex-wrap:wrap;gap:4px;min-width:0} .qt-lr-chk .qt-lr-pin{margin-top:3px}
.qt-lr-q{grid-area:q;justify-self:end;font:700 12px/1.3 Archivo,sans-serif;color:#5f6b7d}
.qt-lr-p{grid-area:p;justify-self:end;font:700 15px/1.25 Archivo,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.qt-lr.qt-off .qt-lr-ic{opacity:.4} .qt-lr.qt-off .qt-lr-t{color:#8a93a0} .qt-lr.qt-off .qt-lr-p{color:#8a93a0;text-decoration:line-through}
.qt-lr.qt-miss .qt-lr-p{color:#b3261e}
/* L7 — a chave da proposta: o botao continua de 44 x 44 (o alvo do polegar), a chave pequena dentro. Cor fixa (azul = na proposta, cinza = fora, cadeado = sem
   troca) e o :not(#sheetload) da v474/v481 para vencer o 'button' generico dos temas */
.qt-lon{flex:0 0 44px;width:44px;height:44px;margin:0 2px 0 4px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;touch-action:manipulation}
body .qt-lrw[data-qt-lrow] button.qt-lon.qt-lon[data-qt-lon]:not(#sheetload){background:transparent;border:0 solid currentColor;box-shadow:none;color:#2c4a78}
body .qt-lrw[data-qt-lrow] button.qt-lon.qt-lon[data-qt-lon][aria-pressed="false"]:not(#sheetload){color:#7b8494}
.qt-lsw{position:relative;display:block;width:38px;height:22px;border-radius:11px;background:currentColor}
.qt-lsw::after{content:"";position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:right .15s}
.qt-lon[aria-pressed="false"] .qt-lsw::after{right:19px}
.qt-llock{display:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qt-lon[data-qt-lock] .qt-lsw{display:none} .qt-lon[data-qt-lock] .qt-llock{display:block}
/* v783 (R1, D4) — a lixeira da linha: cinza, vermelha so no hover / foco / toque; 44 x 44 como a chave. Escondida no telefone (apaga pelo
   Select, D3) — aparece com a tela de 600 px ou mais (v784). (R2) a linha que pergunta: o .qt-rmq da v506 no lugar da linha inteira */
body .qt-lrw[data-qt-lrow] button.qt-lrm.qt-lrm[data-qt-lrm]:not(#sheetload){display:none;flex:0 0 44px;width:44px;height:44px;margin:0 4px 0 0;padding:0;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;box-shadow:none;color:#8a93a0;cursor:pointer;touch-action:manipulation}
body .qt-lrw[data-qt-lrow] button.qt-lrm.qt-lrm[data-qt-lrm]:not(#sheetload):is(:hover,:focus-visible,:active){color:#b3261e;background:#fdf1f0}
@media (min-width:600px){ body .qt-lrw[data-qt-lrow] button.qt-lrm.qt-lrm[data-qt-lrm]:not(#sheetload){display:flex} } /* v784: pela TELA, nao pela lista — no PC de 1200 px o trilho "Close the sale" deixa a lista abaixo de 600 px e a lixeira sumia */
.qt-lrm svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qt-lrw.qt-rmon{display:block;padding:6px 8px;background:#fff}
/* v784 (R3) — o Select: o botao no titulo da lista (Select / Done), a caixinha ao lado do numero, a linha marcada azul-clara, a chave / lixeira / 3D
   escondidos (o toque em qualquer lugar da linha marca), e a barra sob as linhas (a dica, ou "N selected" + o Remove vermelho; a pergunta e' o .qt-rmq) */
.qt-lht .qt-lr-pin[hidden]+.qt-lsel{margin-left:auto}
body .qt-lht button.qt-lsel.qt-lsel[data-qt-lsel]:not(#sheetload){flex:none;min-height:44px;margin:0 0 0 8px;padding:0 14px;border:1.5px solid #8b93a3;border-radius:10px;background:#fff;color:#1d2433;font:700 13px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-lht button.qt-lsel.qt-lsel[data-qt-lsel][aria-pressed="true"]:not(#sheetload){border-color:#2c4a78;background:#2c4a78;color:#fff}
.qt-selon .qt-lcols{visibility:hidden}
.qt-selon .qt-lr{grid-template-columns:44px 72px minmax(0,1fr) auto}
.qt-selon .qt-lr-n{display:flex;align-items:center;gap:6px}
.qt-selon .qt-lr-n::before{content:"";flex:none;width:18px;height:18px;box-sizing:border-box;border:2px solid #8b93a3;border-radius:5px;background:#fff}
.qt-selon .qt-sel .qt-lr-n::before{border-color:#2c4a78;background:#2c4a78 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat}
.qt-selon .qt-lrw.qt-sel{background:#eef3fa}
body .qt-selon .qt-lrw[data-qt-lrow] button:is(.qt-lon,.qt-lrm,.qt-l3d):is(.qt-lon,.qt-lrm,.qt-l3d):is(.qt-lon,.qt-lrm,.qt-l3d):not(#sheetload){display:none} /* o :is() 3x vence o .qt-lrm.qt-lrm[data-qt-lrm] da lista larga */
.qt-selon .qt-lr{padding-right:12px}
.qt-selslot:empty{display:none} .qt-selslot{margin-top:8px}
.qt-selbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:4px 4px 4px 12px;border:1.5px solid #b3261e;border-radius:10px;background:#fff;font:700 14px/1.2 Archivo,sans-serif;color:#1d2433}
body .qt-selbar[data-qt-selbar] button.qt-selrm.qt-selrm[data-qt-selrm]:not(#sheetload){display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:0 14px;border:1.5px solid #b3261e;border-radius:10px;background:#b3261e;color:#fff;font:800 14px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
.qt-selrm svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* v562 (A1) — a foto da linha vira o botao do 3D: transparente, por cima da coluna do desenho (6 px da borda + 18 do numero + 8 de vao = 32 px; a
   coluna tem 72 px). v696 (L2): o selo "3D" AO LADO do par (a sobra da direita da coluna), nunca por cima do desenho. O resto da linha abre o painel */
body .qt-lrw[data-qt-lrow] button.qt-l3d.qt-l3d.qt-l3d[type="button"]:not(#sheetload){position:absolute;top:4px;bottom:4px;left:32px;width:72px;min-height:0;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#2c4a78;cursor:pointer;touch-action:manipulation}
body .qt-lrw[data-qt-lrow] button.qt-l3d.qt-l3d.qt-l3d[type="button"]:not(#sheetload):hover{background:rgba(44,74,120,.08)}
.qt-l3d:focus-visible{outline:2px solid #2c4a78;outline-offset:1px}
.qt-lrw .qt-l3d .qt-l3db{position:absolute;right:1px;bottom:5px;padding:1px 3px;border:1px solid #2c4a78;border-radius:4px;background:#fff;color:#2c4a78;font:800 10px/1.1 Archivo,sans-serif;letter-spacing:.02em}
/* a lista larga: as colunas de verdade e os nomes em cima (os mesmos 30 · 96 · resto · 150 · 44 · 110 da linha + os 56 da chave) */
@container qtl (min-width:600px){
  .qt-lcols{display:grid;grid-template-columns:30px 96px minmax(0,1fr) minmax(0,150px) 44px 110px 46px 38px;column-gap:10px;padding:0 0 6px 12px;font:700 11px/1.2 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#5f6b7d}
  .qt-lcols .qt-lc-c{text-align:center} .qt-lcols .qt-lc-r{text-align:right} .qt-lcols .qt-lc-x{display:none} /* v786: por classe (List e Discount so a partir de 780 px) */
  .qt-lr{grid-template-columns:30px 96px minmax(0,1fr) minmax(0,150px) 44px 110px;grid-template-areas:"n ic main chk q p";column-gap:10px;align-items:center;min-height:60px;padding:0 0 0 12px}
  .qt-lr-n{font-size:14px}
  .qt-lr-ic{width:96px;padding-right:30px;gap:3px} .qt-lr-ic svg{max-width:28px} .qt-lr-ic img{max-width:28px}
  .qt-lr-main{flex-wrap:nowrap}
  .qt-lr-m{font-size:13px}
  .qt-lr-chk .qt-lr-pin{margin-top:0}
  .qt-lr-q{justify-self:center;font:600 14px/1 Archivo,sans-serif} .qt-lr-q:empty::before{content:"1"}
  body .qt-lrw[data-qt-lrow] button.qt-lon.qt-lon[data-qt-lon]:not(#sheetload){margin:0 6px}
  .qt-selon .qt-lr{grid-template-columns:56px 96px minmax(0,1fr) minmax(0,150px) 44px 110px} /* v784 (R3): a coluna do numero com a caixinha */
  body .qt-lrw[data-qt-lrow] button.qt-l3d.qt-l3d.qt-l3d[type="button"]:not(#sheetload){left:52px;width:96px}
  .qt-lrw .qt-l3d .qt-l3db{right:2px}
}
/* v786 (esboco "Quote: a lista primeiro", L1, aprovado 30/10): a lista de 780 px ou mais (o PC de 1600 px) — uma linha por janela, um numero por coluna:
   List (o preco cheio; riscado quando ha desconto, igual sem) · Discount (o "− $458 · 25.4%" em verde, sem o selo; "—" sem desconto) · Price. Os avisos
   da coluna Check viram icones (o alfinete = fora do mapa, o $ = falta o preco; o nome no title) */
@container qtl (min-width:780px){
  .qt-lcols{grid-template-columns:30px 96px minmax(0,1fr) 44px 40px 84px 104px 92px 46px 38px} /* a chave (56) + a lixeira (48) = 46 + 38 + os 2 vaos: os nomes em cima das colunas */
  .qt-lcols .qt-lc-x{display:block} .qt-lcols .qt-lc-k{text-align:center}
  .qt-lr{grid-template-columns:30px 96px minmax(0,1fr) 44px 40px 300px;min-height:52px}
  .qt-selon .qt-lr{grid-template-columns:56px 96px minmax(0,1fr) 44px 40px 300px}
  .qt-lr-chk{flex-wrap:nowrap;justify-content:center;gap:3px}
  .qt-lr-chk .qt-lr-pin{width:24px;height:24px;padding:0;justify-content:center;border-radius:7px;font-size:0;line-height:0}
  .qt-lr-chk [data-qt-lpin]::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.4'/%3E%3C/svg%3E") center/contain no-repeat}
  .qt-lr-chk [data-qt-lnp]::before{content:"$";font:800 13px/1 Archivo,sans-serif}
  .qt-lr .qt-lr-pc{display:grid;grid-template-columns:84px 104px 92px;column-gap:10px;align-items:center;justify-self:stretch}
  .qt-lr-pc>.qt-lr-was{grid-area:1 / 1;justify-self:end;font-size:13px}
  .qt-lr-pc>.qt-lr-was.qt-lr-same[hidden]{display:block;text-decoration:none;color:#5f6b7d}
  .qt-lr-pc>.qt-lr-d{grid-area:1 / 2;justify-self:end;margin:0;padding:0;border-radius:0;background:transparent;font-size:13px}
  .qt-lr-pc>.qt-lr-d.qt-lr-dhid{background:transparent}
  .qt-lr-pc:not(:has(>.qt-lr-d:not([hidden])))::before{content:"—";grid-area:1 / 2;justify-self:end;color:#8a93a0}
  .qt-lr-pc>.qt-lr-p{grid-area:1 / 3}
}
/* v786 (L2): a linha de total sob a lista — so na lista larga (o telefone fica como esta). 600–779 px: o nome, o desconto e o preco; 780 px ou mais: nas
   colunas da lista (Qty · List · Discount · Price). A sobra da direita = a chave (56) + a lixeira (48) */
.qt-lsumslot:empty{display:none} .qt-lsum{display:none}
@container qtl (min-width:600px){
  .qt-lsum{display:flex;align-items:center;gap:14px;min-height:44px;padding:0 104px 0 12px;background:#f4f6f9;border-bottom:1px solid #e6e9ef;color:#1d2433;font:700 14px/1.2 Archivo,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
  .qt-ls-l{flex:1;min-width:0;font-weight:600;color:#3d4757;overflow:hidden;text-overflow:ellipsis} .qt-ls-q,.qt-ls-w{display:none} .qt-ls-d{color:#1a6b3c}
}
@container qtl (min-width:780px){
  .qt-lsum{display:grid;grid-template-columns:30px 96px minmax(0,1fr) 44px 40px 84px 104px 92px;column-gap:10px}
  .qt-ls-l{grid-column:1 / 5} .qt-ls-q,.qt-ls-w{display:block} .qt-ls-q{text-align:center} .qt-ls-w,.qt-ls-d,.qt-ls-p{text-align:right} .qt-ls-w{color:#5f6b7d;font-weight:600}
}
/* v788 (esboco "Quote: a lista primeiro", F1): os chips do filtro sob o titulo da lista — All windows · Not on the map · Discounted · Off the quote, cada um com
   a contagem; o ligado azul-claro, o sem linha apagado. Na lista larga sempre (o selo "N not on the map" do titulo sai: o chip e' ele); no telefone so com
   um filtro ligado (.qt-fon), para voltar a All. Cores fixas e o :not(#sheetload) contra o 'button' dos temas, como a chave da linha */
.qt-filts{display:none;flex-wrap:wrap;gap:6px;padding:0 2px 8px} .qt-fon .qt-filts{display:flex}
body .qt-filts button.qt-fchip.qt-fchip[data-qt-filt]:not(#sheetload){display:inline-flex;align-items:center;gap:6px;min-height:36px;margin:0;padding:0 12px;border:1px solid #c9d0db;border-radius:9px;background:#fff;color:#1d2433;font:600 13px/1 "Source Sans 3",sans-serif;box-shadow:none;cursor:pointer;touch-action:manipulation}
body .qt-filts button.qt-fchip.qt-fchip[data-qt-filt][aria-pressed="true"]:not(#sheetload){border-color:#2c4a78;background:#e8eef7;color:#2c4a78}
body .qt-filts button.qt-fchip.qt-fchip[data-qt-filt]:disabled:not(#sheetload){opacity:.5;cursor:default}
.qt-fchip b{font:800 13px/1 Archivo,sans-serif;font-variant-numeric:tabular-nums} .qt-fchip.qt-fwarn b{color:#8a4a06} .qt-fchip:focus-visible{outline:2px solid #2c4a78;outline-offset:1px}
@container qtl (min-width:600px){ .qt-filts{display:flex} .qt-lht [data-qt-lhmap]{display:none} .qt-lht [data-qt-lhn]{margin-right:auto} }
/* v788 (A1): o Show them no aviso "N windows not on the map" do trilho — liga o chip Not on the map e sobe ate a lista */
body .qt-chk button.qt-fshow.qt-fshow[data-qt-fshow]:not(#sheetload){flex:none;align-self:center;min-height:36px;margin:0 0 0 auto;padding:0 10px;border:1px solid #8a4a06;border-radius:8px;background:#fff;color:#8a4a06;font:700 12.5px/1 Archivo,sans-serif;white-space:nowrap;box-shadow:none;cursor:pointer;touch-action:manipulation}
/* v504 (esboco-cotacao-janelas A1-A3): + Add window no fim da lista (alvo de 52 px), a etiqueta 'not on the map' e a linha que acabou de entrar,
   marcada por 2 s. Cores fixas e o :not(#sheetload) como o botao da proposta (v502): o 'button' generico dos temas escuros pesa (1,5,2) — aqui (1,6,2) */
/* v522 (Quick add): os dois botoes lado a lado na .qt-addrow — o + Add window (o de sempre) e o Quick add; o titulo em cima, a linha pequena embaixo */
.qt-addrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px}
/* v710 (N1, N2): as notas da Quote — o cartao das Tech notes (.jv-tn); a barra e a area (.tn-ed) sao as do job-screen.css */
.qt-note{display:flex;flex-direction:column;gap:6px}
.qt-noteh{margin:4px 2px 0;font:700 12px/1.2 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)} .qt-noteh small{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--muted)}
.qt-notesv{margin:-2px 0 0;font-size:11px;color:var(--muted);text-align:right} .qt-notesv[hidden]{display:none}
body .qt-addrow>button.qt-addw.qt-addw.qt-addw[class][type="button"]:not(#sheetload){display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;row-gap:1px;align-items:center;width:100%;min-height:60px;margin:0;padding:8px 10px;border:2px dashed #8b93a3;border-radius:12px;background:#fff;color:#2c4a78;font:800 16px/1.2 Archivo,sans-serif;text-align:left;cursor:pointer;touch-action:manipulation}
.qt-addw b{grid-row:1 / span 2;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#2c4a78;color:#fff;display:flex;align-items:center;justify-content:center;font:800 20px/1 Archivo,sans-serif}
.qt-addw small{font:400 13px/1.25 "Source Sans 3",sans-serif;color:#5b6474}
.qt-addw b svg{width:17px;height:17px;fill:#fff;stroke:none}
/* v522 — o painel do Quick add (esboco Q1-Q4, N1-N3): cores fixas, claro em todo tema (como a Pre-visualizar); os botoes no peso (1,6,2) contra o 'button' dos
   temas escuros. Barra · corpo que rola (busca, grupos, cartoes) · bandeja Selected presa no pe, sempre a vista. */
body[data-qt-qk]{overflow:hidden}
.qt-qk{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;background:#f2f4f7;color:#1d2433}
.qt-qkbar{display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top,0px)) 8px 8px 16px;background:#2c4a78;color:#fff} .qt-qkbar b{margin-right:auto;font:800 17px/1.2 Archivo,sans-serif}
body .qt-qk[data-qt-qk] button.qt-qkx.qt-qkx.qt-qkx[type="button"]:not(#sheetload){width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#fff;font:700 20px/1 Archivo,sans-serif;cursor:pointer}
.qt-qkbody{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 16px 16px;-webkit-overflow-scrolling:touch}
body .qt-qk[data-qt-qk] input.qt-qks.qt-qks.qt-qks[type="search"]:not(#sheetload){display:block;width:100%;height:44px;margin:0;padding:0 16px;border:1.5px solid #b9c1cd;border-radius:22px;background:#fff;color:#1d2433;font:400 16px/1.2 "Source Sans 3",sans-serif;box-sizing:border-box}
.qt-qks::placeholder{color:#5b6474}
.qt-qkcats{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
body .qt-qk[data-qt-qk] button.qt-qkcat.qt-qkcat.qt-qkcat[type="button"]:not(#sheetload){min-height:40px;margin:0;padding:0 14px;border:1.5px solid #b9c1cd;border-radius:20px;background:#fff;color:#1d2433;font:700 14px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-qk[data-qt-qk] button.qt-qkcat.qt-qkcat.qt-qkcat[aria-pressed="true"]:not(#sheetload){border-color:#2c4a78;background:#2c4a78;color:#fff}
.qt-qkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.qt-qkcard{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border:1.5px solid #d3d9e2;border-radius:14px;background:#fff}
.qt-qkname{font:800 15px/1.2 Archivo,sans-serif;color:#1d2433;overflow-wrap:anywhere}
.qt-qkrow{display:flex;align-items:center;gap:6px}
.qt-qkpic{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center} .qt-qkpic svg{display:block;max-width:100%;height:auto;max-height:100px}
.qt-qkdim{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;width:42px} .qt-qkdim small{font:700 11px/1 Archivo,sans-serif;color:#5b6474;letter-spacing:.04em}
.qt-qkdim output{font:800 17px/1.3 Archivo,sans-serif;color:#1d2433}
body .qt-qk[data-qt-qk] button.qt-qkst.qt-qkst.qt-qkst[type="button"]:not(#sheetload){width:42px;height:36px;min-height:0;margin:0;padding:0;border:1.5px solid #b9c1cd;border-radius:8px;background:#fff;color:#2c4a78;font:700 14px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-qk[data-qt-qk] button.qt-qkst.qt-qkst.qt-qkst[type="button"]:disabled:not(#sheetload){color:#b9c1cd;border-color:#e1e5eb;cursor:default}
body .qt-qk[data-qt-qk] button.qt-qkadd.qt-qkadd.qt-qkadd[type="button"]:not(#sheetload){width:100%;min-height:44px;margin:0;padding:0 10px;border:1.5px solid #2c4a78;border-radius:10px;background:#fff;color:#2c4a78;font:800 15px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
.qt-qkempty{margin:6px 0;font:400 14px/1.35 "Source Sans 3",sans-serif;color:#5b6474}
.qt-qktray{flex:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #d3d9e2;background:#fff;box-shadow:0 -4px 14px rgba(29,36,51,.10)}
.qt-qkhead{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 6px} .qt-qkhead b{font:800 14px/1.2 Archivo,sans-serif;color:#1d2433} .qt-qkhead small{font:400 13px/1.2 "Source Sans 3",sans-serif;color:#5b6474}
.qt-qkpills{display:flex;flex-wrap:wrap;gap:6px;max-height:96px;overflow-y:auto;margin-bottom:8px}
body .qt-qk[data-qt-qk] button.qt-qkpill.qt-qkpill.qt-qkpill[type="button"]:not(#sheetload){display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:0 12px 0 5px;border:2px dashed #4d6a96;border-radius:22px;background:#fff;color:#2c4a78;font:700 14px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
.qt-qkpill i{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 4px;border-radius:14px;background:#2c4a78;color:#fff;font:800 13px/1 Archivo,sans-serif;font-style:normal;box-sizing:border-box}
.qt-qkped{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:2px 4px 2px 12px;border:2px solid #2c4a78;border-radius:22px;background:#eef2f8;color:#2c4a78;font:700 14px/1 Archivo,sans-serif} .qt-qkped>span{margin-right:4px} .qt-qkped b{min-width:22px;text-align:center;font:800 15px/1 Archivo,sans-serif;color:#1d2433}
body .qt-qk[data-qt-qk] .qt-qkped button.qt-qkpb.qt-qkpb[type="button"]:not(#sheetload){width:36px;height:36px;min-height:0;margin:0;padding:0;border:1.5px solid #2c4a78;border-radius:50%;background:#fff;color:#2c4a78;font:800 17px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-qk[data-qt-qk] .qt-qkped button.qt-qkpx.qt-qkpb.qt-qkpb[type="button"]:not(#sheetload){border-color:#b3261e;color:#b3261e;font-size:14px}
.qt-qkhi{animation:qt-qkhi .9s ease-out}
@keyframes qt-qkhi{0%{box-shadow:0 0 0 4px #f2b84b}100%{box-shadow:0 0 0 0 rgba(242,184,75,0)}}
body .qt-qk[data-qt-qk] button.qt-qkgo.qt-qkgo.qt-qkgo[type="button"]:not(#sheetload){display:block;width:100%;min-height:50px;margin:0;padding:0 14px;border:0;border-radius:12px;background:#2c4a78;color:#fff;font:800 17px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-qk[data-qt-qk] button.qt-qkgo.qt-qkgo.qt-qkgo[type="button"]:disabled:not(#sheetload){background:#8d9ab0;cursor:default}
.qt-lr-pin{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;background:#fdf3e7;color:#8a4a06;font:600 12px/1.35 "Source Sans 3",sans-serif;white-space:nowrap} /* v696 (L4): o aviso laranja = atencao */
.qt-lr-pin.qt-lr-np{background:#fbeceb;color:#8c1d16} /* v696 (L4): o vermelho = falta o preco */
.qt-lr-pin[hidden]{display:none}
.qt-lrw.qt-new{outline:3px solid #f2b84b;outline-offset:-3px;border-radius:6px}
/* v505 (E1): ✎ Edit window debaixo dos desenhos da linha aberta — o mesmo peso (1,6,2) contra o 'button' dos temas */
body .qt-edit button.qt-editw.qt-editw.qt-editw[data-qt-editw][type="button"]:not(#sheetload){display:flex;align-items:center;gap:10px;width:100%;min-height:48px;margin:10px 0 4px;padding:0 14px;border:1.5px solid #2c4a78;border-radius:10px;background:#fff;color:#2c4a78;font:800 15px/1.2 Archivo,sans-serif;text-align:left;cursor:pointer;touch-action:manipulation}
.qt-editw b{font:800 18px/1 Archivo,sans-serif} .qt-editw small{margin-left:auto;font:400 13px/1.25 "Source Sans 3",sans-serif;color:#5b6474;text-align:right}
/* v506 (R1-R2): remover a janela do trabalho — no pe da linha aberta, longe do ✓; a pergunta em cores fixas (um aviso, claro em todo tema) */
.qt-rmslot{margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
/* v522 (C1 b): ⧉ Duplicate, logo acima do remover — o azul do ✎ Edit window, o mesmo peso (1,6,2) contra o 'button' dos temas */
body .qt-edit button.qt-dupw.qt-dupw.qt-dupw[data-qt-dupw][type="button"]:not(#sheetload){display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:10px 0 0;padding:0 12px;border:1.5px solid #2c4a78;border-radius:10px;background:#fff;color:#2c4a78;font:700 14px/1.2 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
.qt-dupw svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body .qt-edit button.qt-rmw.qt-rmw.qt-rmw[data-qt-rmw][type="button"]:not(#sheetload){display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:0;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#b3261e;font:700 14px/1.2 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
.qt-rmw svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qt-rmq{border:2px solid #b3261e;border-radius:10px;padding:10px 12px;background:#fdf1f0}
.qt-rmq-t{margin:0 0 4px;font:800 15px/1.25 Archivo,sans-serif;color:#8c1d18} .qt-rmq small{display:block;margin-bottom:10px;font:400 13px/1.35 "Source Sans 3",sans-serif;color:#4a3533}
.qt-rmq-b{display:flex;gap:10px}
body .qt-rmq[data-qt-rmq] .qt-rmq-b button.qt-rmq-no.qt-rmq-no[type="button"]:not(#sheetload),body .qt-rmq[data-qt-rmq] .qt-rmq-b button.qt-rmq-yes.qt-rmq-yes[type="button"]:not(#sheetload){flex:1 1 0;min-height:44px;margin:0;padding:0 12px;border-radius:10px;font:800 15px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-rmq[data-qt-rmq] .qt-rmq-b button.qt-rmq-no.qt-rmq-no[type="button"]:not(#sheetload){border:1.5px solid #8b93a3;background:#fff;color:#1d2433}
body .qt-rmq[data-qt-rmq] .qt-rmq-b button.qt-rmq-yes.qt-rmq-yes[type="button"]:not(#sheetload){border:1.5px solid #b3261e;background:#b3261e;color:#fff}
@media print{ .qt-addrow,.qt-addw,.qt-lr-pin,.qt-editw,.qt-dupw,.qt-rmslot,.qt-qk,.qt-lrm,.qt-lsel,.qt-selslot{display:none!important} }

/* o editor da linha aberta — v560: um painel (o bloco "v560 — o painel da linha", no fim do arquivo) */
.qt-part{margin:0;font:700 13px/1.3 Archivo,sans-serif;color:var(--ink2)}
.qt-flags{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px} .qt-flag{font-size:12.5px;line-height:1.35;padding:5px 8px;border-radius:8px;background:#eef1f5;color:var(--ink2)} .qt-flag-warn{background:#fff8ea;color:#8a4b07}
.qt-fld{display:flex;flex-direction:column;gap:5px} .qt-fld>small,.qt-disc>small{font:700 10.5px/1.2 Archivo,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.qt-cols{display:flex;flex-wrap:wrap;gap:5px}
.qt-col{min-height:0;margin:0;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink2);font:600 12.5px/1.2 "Source Sans 3",sans-serif;cursor:pointer} .qt-col[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-acc)}
.qt-items{display:flex;flex-direction:column}
.qt-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:baseline;margin:0;padding:4px 0;border-bottom:1px solid #e9edf2;font-size:13px;color:var(--ink2)} .qt-item small{color:var(--muted)} .qt-item b{font-variant-numeric:tabular-nums;color:var(--ink)}
.qt-extras{display:flex;flex-direction:column;gap:6px}
.qt-x{display:grid;grid-template-columns:minmax(0,1fr) 52px 86px 30px;gap:6px;align-items:end}
.qt-xf{display:flex;flex-direction:column;gap:2px;min-width:0} .qt-xf small{font:700 10px/1.2 Archivo,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)} .qt-xf input{width:100%} /* v431: rotulo fixo em cada campo (o texto cinza de dentro some ao digitar) */
.qt-xdel{min-height:0;width:30px;height:30px;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer}
.qt-add{align-self:flex-start;min-height:0;margin:0;padding:6px 10px;border:1px dashed var(--line);border-radius:8px;background:#fff;color:var(--ink2);font:600 12.5px/1.2 "Source Sans 3",sans-serif;cursor:pointer}
.qt-disc{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qt-duo{display:flex;align-items:center;gap:4px} .qt-duo input{width:72px;text-align:right} .qt-duo em{font-style:normal;font-size:12px;color:var(--muted);min-width:56px}
.qt-unit{min-height:0;width:32px;height:30px;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent);font:800 13px/1 Archivo,sans-serif;cursor:pointer}
.qt-why{width:100%}
.qt-chk{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink2)}
.qt-ltot{display:flex;justify-content:space-between;margin:0;padding-top:6px;border-top:1.5px solid var(--ink);font:800 14px/1.2 Archivo,sans-serif} .qt-ltot b{font-variant-numeric:tabular-nums}

/* os totais */
.qt-tot{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#f2f5f9}
.qt-trow{display:flex;justify-content:space-between;margin:0;font-size:14px;color:var(--ink2)} .qt-trow b{font-variant-numeric:tabular-nums;color:var(--ink)}
.qt-minus{margin-left:auto;color:#b45309;font-variant-numeric:tabular-nums}
.qt-grand{padding-top:6px;border-top:1.5px solid var(--ink);font:800 17px/1.2 Archivo,sans-serif;color:var(--ink)}
.qt-office{margin:0;font-size:12px;color:var(--muted)}

/* a brochura: os controles de quem envia */
.qt-bcfg{display:flex;flex-direction:column;padding:2px 14px;border:1px solid #d3d9e2;border-radius:14px;background:#fff;color:#1d2433;container:qtb/inline-size} /* v702: uma folha so (as secoes separadas por linha fina) */
.qt-segw{display:flex;flex-wrap:wrap;width:100%} .qt-segw button{flex:1 1 auto}
.qt-print{min-height:0;margin:0;padding:8px 14px;border:0;border-radius:10px;background:var(--accent);color:var(--on-acc);font:700 13.5px/1.2 Archivo,sans-serif;cursor:pointer}

/* a folha que o cliente recebe */
.qt-sheet{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 18px rgba(15,23,42,.08)}
/* v463 (esboco B, Rafael 2026-10-05 "gosto do B" — no S00114 a capa saiu com os textos apagados e sem logo: o conversor do Google tira o fundo de um <div>, e o
   branco translucido da capa azul ficava cinza-claro no papel branco). A capa e' BRANCA; no topo, a FAIXA azul-marinho (#1d4e79) de ponta a ponta com o logo
   oficial branco + ciano (40 px, data URL) a esquerda e a cidade / telefone · site a direita (o pdf.js a traduz numa tabela com o fundo nas celulas, que o
   conversor respeita). So as cores do padrao da marca: #1d4e79, #141a21, #4b5563, #8a93a0, #d6e2ee e branco */
.qt-cover{position:relative;overflow:hidden;padding:0;background:#fff;color:#141a21}
.qt-brand{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:14px 16px;background:#1d4e79}
.qt-brand>:not(.qt-vzbg){position:relative} /* v463, conserto apos verificacao: a foto de fundo da Visualizar (img.qt-vzbg, 24%) mora DENTRO da faixa azul-marinho, como antes na capa azul — atras do titulo e dos rotulos na capa branca ela derrubava o #8a93a0 a 1,9:1 */
.qt-logo{display:block;flex:none;height:40px;width:auto}
.qt-bword{font:700 20px/1.2 Georgia,"Times New Roman",serif;color:#fff}
.qt-chead{padding:0 16px 14px}
.qt-cover .qt-title{margin:16px 0 4px;padding:0;border:0;background:none;color:#1d4e79;font:400 32px/1.15 Georgia,"Times New Roman",serif;letter-spacing:normal;text-transform:none} /* vence o h2 geral do app (maiusculas, cor) */
.qt-meta{display:flex;gap:10px 18px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #d6e2ee}
.qt-meta>div{display:flex;flex-direction:column;flex:4 1 0;min-width:140px} .qt-meta>div:nth-child(2){flex-grow:2.5} .qt-meta>div:nth-child(3){flex-grow:3.5}
.qt-meta small{margin-bottom:4px;font:700 10px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8a93a0} .qt-meta b{font:700 16px/1.35 Arial,Helvetica,sans-serif;color:#141a21} .qt-meta span{font:400 13px/1.45 Arial,Helvetica,sans-serif;color:#4b5563}
.qt-band{display:flex;border-bottom:1px solid var(--line);background:#fafbfc}
.qt-band div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-right:1px solid var(--line);text-align:center} .qt-band div:last-child{border-right:0}
.qt-band b{font:700 17px/1.1 Georgia,serif;color:#1d4e79} .qt-band small{font:700 9px/1 Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#4b5563} /* v463: o rotulo no cinza da marca */
.qt-pg{padding:4px 16px 18px}
.qt-sheet .qt-h{padding:0;border:0;background:none;display:flex;align-items:center;gap:9px;margin:20px 0 10px;font:700 10px/1 Archivo,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#1d4e79} .qt-h::after{content:"";flex:1;height:1px;background:var(--line)}
.qt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.qt-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;break-inside:avoid}
.qt-card-h{display:flex;align-items:baseline;gap:6px;padding:7px 9px;background:#f7f9fb;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.qt-card-h b{font:700 12.5px/1.2 Georgia,serif;color:var(--ink)} .qt-card-h i{margin-left:auto;font:700 12px/1 Archivo,sans-serif;font-style:normal;color:var(--ink2)}
.qt-card-d{display:flex;align-items:center;justify-content:center;padding:10px;min-height:110px;background:linear-gradient(#fff,#f8fafc)} .qt-card-d svg{max-width:100%;max-height:150px;height:auto}
.qt-card-m{margin:0;padding:6px 9px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink2)}
.qt-card-p{border-top:1px solid #eef1f4;padding:5px 9px 7px}
.qt-prow{display:flex;justify-content:space-between;gap:8px;margin:0;padding:2px 0;font-size:12px;color:var(--ink2)} .qt-prow b{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.qt-prow.qt-pd{color:#a8600a} .qt-prow.qt-ptot{margin-top:3px;padding-top:4px;border-top:1px solid var(--line);font-weight:700;color:var(--ink)} .qt-prow.qt-ptot b{font-weight:800}
.qt-sum{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}
.qt-sum .qt-prow{font-size:13px} .qt-sum .qt-ptot{font-size:16px}
.qt-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.qt-path{position:relative;display:flex;flex-direction:column;gap:3px;padding:10px 9px;border:1px solid var(--line);border-radius:10px;background:#fff}
.qt-path small{font:700 9px/1 Archivo,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)} .qt-path b{font:700 13.5px/1.2 Georgia,serif} .qt-path span{font:800 14px/1.2 Archivo,sans-serif;font-variant-numeric:tabular-nums}
.qt-path.qt-rec{border:2px solid #8a6d2f;box-shadow:0 3px 12px rgba(138,109,47,.14)} .qt-path.qt-rec span{color:#8a6d2f}
.qt-path .qt-ptx{font:700 11px/1.3 Archivo,sans-serif;font-style:normal;color:#4b5563;font-variant-numeric:tabular-nums} /* v669: "Total with sales tax $X" */
.qt-recm{font:700 9px/1.2 Archivo,sans-serif;font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:#8a6d2f}
.qt-sign{display:flex;gap:18px;margin-top:26px} .qt-sign span{flex:1;padding-top:5px;border-top:1px solid var(--ink2);font:600 9.5px/1.3 Archivo,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* imprimir / PDF: so a folha (o resto da pagina fica invisivel) */
@media print{
  body.qt-printing *{visibility:hidden}
  body.qt-printing .qt-sheet,body.qt-printing .qt-sheet *{visibility:visible}
  body.qt-printing .qt-sheet{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none;border-radius:0}
  body.qt-printing .qt-brand{-webkit-print-color-adjust:exact;print-color-adjust:exact} /* v463: a faixa azul-marinho com o logo */
}

/* v428 — enviar ao Odoo: o botao largo, o estado embaixo (na fila = ambar, criada = verde, erro = vermelho) e o link da Quotation */
.qt-send{display:flex;flex-direction:column;gap:6px}
.qt-sendb{width:100%;min-height:44px} .qt-sendb:disabled{opacity:.55;cursor:default}
.qt-sendst{margin:0;font-size:13px;line-height:1.4;color:var(--ink2)} .qt-send-wait{color:#b45309} .qt-send-ok{color:#186b3f} .qt-send-bad{color:#b91c1c}
.qt-sendlink{font:700 13.5px/1.2 Archivo,sans-serif;color:var(--accent)}
/* v698 — o trilho "Close the sale" (esboco "mapa e esboco do operador", Q4 e M4–M6). Cores fixas, claro em todo tema. Um <dialog> como o Job setup: a raiz .qt
   e' o @container qtr — 780 px ou mais = a Estimate em duas colunas (a lista a esquerda, o trilho a direita, preso no alto como o painel da linha: 73 px da
   barra da tela Job); com o painel da linha aberto (.qt-hased) o trilho desce para baixo da lista. Estreita: o trilho fechado, a barra de baixo (.qt-rbar,
   no body) mostra o total e a acao de agora e o abre como folha */
.qt{container:qtr / inline-size}
.qt-main{display:flex;flex-direction:column;gap:12px;min-width:0}
dialog.qt-rail{margin:0;padding:0;border:0;max-width:none;max-height:none;background:#fff;color:#1d2433;font-family:"Source Sans 3",sans-serif}
dialog.qt-rail:modal{position:fixed;inset:auto 0 0 0;width:min(100%,560px);margin:0 auto;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.25)}
dialog.qt-rail::backdrop{background:rgba(29,36,51,.45)}
.qt-rin{display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}
dialog.qt-rail:modal .qt-rin::before{content:"";align-self:center;width:40px;height:5px;margin:8px 0 0;border-radius:3px;background:#c9d0db}
.qt-rhead{display:flex;align-items:center;gap:10px;padding:12px 16px 10px;border-bottom:1px solid #edf0f4}
.qt-rh{flex:1;min-width:0;margin:0;display:flex;flex-direction:column} .qt-rh b{font:800 18px/1.2 Archivo,sans-serif} .qt-rh small{font-size:12px;color:#5f6b7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .qt-rh small:empty{display:none}
.qt-rtot{display:none;font:800 17px/1 Archivo,sans-serif;font-variant-numeric:tabular-nums} dialog.qt-rail:modal .qt-rtot{display:block}
body dialog.qt-rail button.qt-sdone.qt-sdone[data-qt-railx]:not(#sheetload){display:none;min-width:56px;height:44px;min-height:0;margin:0 -8px 0 0;padding:0 8px;border:0;border-radius:10px;background:transparent;color:#2c4a78;font:700 15px/1 Archivo,sans-serif;cursor:pointer}
body dialog.qt-rail:modal button.qt-sdone.qt-sdone[data-qt-railx]:not(#sheetload){display:inline-flex;align-items:center;justify-content:center}
.qt-rsec{display:flex;flex-direction:column;gap:6px;padding:12px 16px;border-bottom:1px solid #edf0f4} .qt-rsec:last-child{border-bottom:0}
/* Q4a — os totais */
.qt-rail .qt-tot{gap:7px;padding:0;border-radius:0;background:transparent}
.qt-rail .qt-trow{font-size:14px;color:#3d4757} .qt-rail .qt-trow b{color:#1d2433}
.qt-rail .qt-disc{justify-content:space-between} .qt-rail .qt-disc>small{font:400 14px/1.3 "Source Sans 3",sans-serif;letter-spacing:0;text-transform:none;color:#3d4757} .qt-rail .qt-minus{margin-left:0}
.qt-rail .qt-duo input{width:64px;height:34px;min-height:0;box-sizing:border-box}
.qt-rail .qt-grand{align-items:baseline;margin-top:4px;padding-top:0;border-top:0;font:700 15px/1.2 Archivo,sans-serif;color:#1d2433} .qt-rail .qt-grand b{font:800 28px/1.1 Archivo,sans-serif;letter-spacing:-.01em}
/* Q4b — antes do Send (so avisa) · Q4c — o que o cliente recebe */
.qt-chkl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.qt-chk{display:flex;gap:8px;font-size:13px;line-height:1.35;color:#8a4a06} .qt-chk b{flex:none;width:12px;font-weight:800} .qt-chk[data-kind="ok"]{color:#1a6b3c}
.qt-rsec.qt-rgets{flex-direction:row;align-items:center;gap:12px}
.qt-rgt{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;gap:2px} .qt-rgt b{font:600 14px/1.3 Archivo,sans-serif} .qt-rgt small{font-size:12px;color:#5f6b7d}
body dialog.qt-rail button.qt-redit.qt-redit[data-qt-view]:not(#sheetload){flex:none;min-height:44px;margin:0 -6px 0 0;padding:0 6px;border:0;border-radius:8px;background:transparent;color:#2c4a78;font:700 13px/1 Archivo,sans-serif;cursor:pointer}
/* Q4d — o Send: o botao grande; depois do Send o resultado em linhas (P9) e o botao discreto embaixo (mandar de novo) */
body dialog.qt-rail button.qt-sendb.qt-sendb[data-qt-send]:not(#sheetload){display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;min-height:0;margin:0;padding:0 14px;border:0;border-radius:12px;background:#2c4a78;color:#fff;font:700 17px/1 Archivo,sans-serif;box-shadow:0 4px 12px rgba(44,74,120,.3);cursor:pointer;touch-action:manipulation}
dialog.qt-rail .qt-sendb::before{content:"✉";font-size:17px}
body dialog.qt-rail .qt-sent button.qt-sendb.qt-sendb[data-qt-send]:not(#sheetload){order:2;height:44px;border:1px solid #c9d0db;background:#fff;color:#2c4a78;font-size:15px;box-shadow:none}
.qt-sendsub{margin:0;text-align:center;font-size:12px;color:#5f6b7d}
div.qt-sendst{display:flex;flex-direction:column;gap:4px;margin:0;font-size:13px;line-height:1.4;color:#3d4757}
.qt-sent div.qt-sendst{padding:10px 12px;border:1px solid #d7e6dc;border-radius:10px;background:#f4f8f5}
.qt-sep{display:none} .qt-sp{display:block}
.qt-send-ok .qt-sp:not([data-warn])::before{content:"✓\00a0 ";font-weight:800;color:#1a6b3c}
.qt-sp[data-warn]{color:#8a4a06} .qt-sp[data-warn]::before{content:"!\00a0 ";font-weight:800} .qt-send-bad .qt-sp[data-warn]{color:#b91c1c}
.qt-sent .qt-sendlink{order:1}
.qt-rsec.qt-rpath{gap:0;padding-top:14px}
/* a barra de baixo do telefone (M1): o total com imposto e a acao de agora; fora da aba (o measure tool por cima), some */
.qt-rbar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;align-items:center;gap:12px;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d3d9e2;box-shadow:0 -6px 18px rgba(20,30,50,.08);color:#1d2433;font-family:"Source Sans 3",sans-serif}
.qt-rbar[hidden],body[data-mz] .qt-rbar{display:none}
body .qt-rbar button.qt-rbt.qt-rbt[data-qt-railopen]:not(#sheetload){flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#1d2433;text-align:left;cursor:pointer}
.qt-rbt small{font-size:11.5px;color:#5f6b7d} .qt-rbt b{font:800 22px/1.1 Archivo,sans-serif;font-variant-numeric:tabular-nums}
body .qt-rbar button.qt-rbgo.qt-rbgo[data-qt-rbgo]:not(#sheetload){flex:0 1 auto;max-width:62%;height:50px;min-height:0;margin:0;padding:0 18px;border:0;border-radius:13px;background:#2c4a78;color:#fff;font:700 16px/1.1 Archivo,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 12px rgba(44,74,120,.3);cursor:pointer;touch-action:manipulation}
body .qt-rbar button.qt-rbgo.qt-rbgo[data-qt-rbgo]:disabled:not(#sheetload){opacity:.55;box-shadow:none;cursor:default}
@container qtr (max-width:779px){ .qt-body:has(> dialog.qt-rail){padding-bottom:84px} } /* a barra nao tapa o fim da lista */
/* v699 (A0): a ficha do Agreement em painel (o desenho por dentro: agreement.css) — no PC no lugar da lista, o trilho continua a direita; estreito = tela cheia */
.qt-body.qt-agon>.qt-main{display:none}
@container qtr (min-width:780px){ .qt-body.qt-agon>dialog.ag-panel{display:block;position:static;grid-column:1;grid-row:1;width:auto;margin:0} }
@container qtr (min-width:780px){
  .qt:not(.qt-hased)>.qt-body:has(> dialog.qt-rail){display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);column-gap:16px;align-items:start}
  dialog.qt-rail{display:block;position:static;width:auto;border:1px solid #d3d9e2;border-radius:14px;box-shadow:0 1px 3px rgba(20,30,50,.06)}
  .qt:not(.qt-hased) dialog.qt-rail{position:sticky;top:73px;max-height:calc(100vh - 85px);overflow:auto}
}

/* v432 — a referencia da Vytex na forma especial: o texto, o botao Usar e a nota (provisoria) */
.qt-ref{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:8px 10px;border:1px dashed #c9a76a;border-radius:10px;background:#fffaf0}
.qt-reft{margin:0;font:700 13px/1.35 Archivo,sans-serif;color:var(--ink)}
.qt-use{min-height:0;margin:0;padding:7px 14px;border:0;border-radius:8px;background:#8a6d2f;color:#fff;font:700 13px/1 Archivo,sans-serif;cursor:pointer}
.qt-refn{grid-column:1 / -1;font-size:11.5px;line-height:1.35;color:#8a5a1c}

/* v433 — a Cotacao fiel ao estimador-brochura: o botao Pre-visualizar no topo, as bolinhas de cor nas linhas, "como fica" e o acabamento na linha aberta,
   os interruptores da brochura, a folha com de fora / de dentro e as secoes de texto, e a Pre-visualizar em tela cheia */
.qt-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.qt-prevb{min-height:0;margin:0;padding:8px 14px;border:1.5px solid var(--accent);border-radius:10px;background:#fff;color:var(--accent);font:700 13.5px/1.2 Archivo,sans-serif;cursor:pointer}
/* como fica (de fora · de dentro) */
.qt-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.qt-pair.qt-one{grid-template-columns:1fr}
.qt-side{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;background:linear-gradient(#fff,#f8fafc)}
.qt-side small{font:700 9px/1 Archivo,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.qt-dr{display:flex;align-items:center;justify-content:center;width:100%} .qt-dr svg{width:100%;height:auto;max-height:170px}
/* o acabamento */
.qt-finish{display:flex;flex-direction:column;gap:10px}
.qt-pal{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}
.qt-sw{position:relative;aspect-ratio:1;min-height:0;margin:0;padding:0;border:0;border-radius:6px;background:var(--sw,#fff);box-shadow:0 0 0 1px var(--line) inset;cursor:pointer}
.qt-sw[aria-pressed="true"]{box-shadow:0 0 0 2px var(--accent)} .qt-sw[aria-pressed="true"]::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font:700 12px/1 Archivo,sans-serif;text-shadow:0 0 4px rgba(0,0,0,.75)}
.qt-cn{margin:0;font-size:12px;color:var(--ink2)}
/* os interruptores da brochura */
.qt-togs{display:flex;flex-wrap:wrap;gap:5px}
.qt-tog{min-height:0;margin:0;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink2);font:600 12.5px/1.2 "Source Sans 3",sans-serif;cursor:pointer}
.qt-tog[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-acc)} .qt-tog:disabled{opacity:.5;cursor:default}
.qt-segw button:disabled{opacity:.45}
/* v702 (esboco "menu da Brochure no telefone" B1–B6, Rafael 21/10 "aprovo as recomendadas"): o painel numa folha so — sem cartao por secao e sem recolher;
   as secoes separadas por uma linha fina. B1 os 3 designs numa linha (o que toca o cliente sai SEMPRE em ingles: sem escolha de lingua); B2 os atalhos
   dos precos num seletor de uma linha, a frase e "Fine-tune ›" (B2b, folha de baixo); B3/B4/B5 as chaves viram chips (o mesmo botao role=switch, sem a
   bolinha; ✓ quando ligado); B6 a barra so com Preview PDF e Print. Cores fixas, claro em todo tema */
.qt-bsec{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid #edf0f4} .qt-bsec:last-child{border-bottom:0}
.qt-bgroups{display:contents}
.qt-bsech{display:flex;align-items:baseline;gap:10px;margin:0} .qt-bsech>b{font:700 14px/1.2 Archivo,sans-serif;color:#1d2433}
.qt-bsecs{margin-left:auto;font:12.5px/1.3 "Source Sans 3",sans-serif;color:#5f6b7d}
.qt-custom{margin-left:auto;padding:2px 9px;border-radius:999px;background:#eef3fa;color:#2c4a78;font:700 11.5px/1.3 Archivo,sans-serif;font-style:normal} .qt-custom[hidden]{display:none}
.qt-bcfg .qb-pick{display:block} .qt-bcfg .qb-pickl{display:none}
.qt-bcfg .qb-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body .qt-bcfg button.qb-pk.qb-pk[data-qt-style]:not(#sheetload){flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:76px;margin:0;padding:8px 4px;border:1px solid #d3d9e2;border-radius:10px;background:#fff;color:#1d2433;font:600 13px/1.2 Archivo,sans-serif;cursor:pointer}
body .qt-bcfg button.qb-pk.qb-pk[data-qt-style][aria-pressed="true"]:not(#sheetload){padding:7px 3px;border:2px solid #2c4a78;background:#f4f7fc}
.qt-bcfg .qb-pk svg{width:28px;height:36px}
.qt-pre{display:flex;width:100%} .qt-pre button{flex:1 1 0;min-width:0}
.qt-bsum{margin:0;font-size:12.5px;line-height:1.4;color:#5f6b7d} .qt-bsum>span:first-child{color:#2c4a78;font-weight:700}
body .qt-bcfg button.qt-fine.qt-fine[data-qt-fineopen]:not(#sheetload){align-self:flex-start;min-height:36px;margin:0;padding:0 2px;border:0;border-radius:8px;background:transparent;color:#2c4a78;font:700 13.5px/1 Archivo,sans-serif;cursor:pointer}
dialog.qt-finesh{margin:0;padding:0;border:0;max-width:none;max-height:none;background:#fff;color:#1d2433;font-family:"Source Sans 3",sans-serif}
dialog.qt-finesh:modal{position:fixed;inset:auto 0 0 0;width:min(100%,560px);margin:0 auto;max-height:88vh;overflow:auto;border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.25)}
dialog.qt-finesh::backdrop{background:rgba(29,36,51,.45)}
body dialog.qt-finesh button.qt-sdone.qt-sdone[data-qt-finex]:not(#sheetload){min-width:64px;height:44px;min-height:0;margin:0 -8px 0 0;padding:0 8px;border:0;border-radius:10px;background:transparent;color:#2c4a78;font:700 15px/1 Archivo,sans-serif;cursor:pointer}
.qt-mrow{display:flex;flex-direction:column;gap:6px} .qt-mrow>span{font:700 12px/1.2 Archivo,sans-serif;color:#5f6b7d}
.qt-chg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px} .qt-chg.qt-chg2{grid-template-columns:repeat(2,minmax(0,1fr))}
body .qt-bcfg button.qt-tsw.qt-tsw[role="switch"]:not(#sheetload){display:flex;align-items:center;justify-content:center;min-width:0;min-height:38px;margin:0;padding:4px 8px;border:1px solid #c9d0db;border-radius:999px;background:#fff;color:#3d4757;font:600 12.5px/1.2 "Source Sans 3",sans-serif;text-align:center;cursor:pointer;touch-action:manipulation}
body .qt-bcfg button.qt-tsw.qt-tsw[role="switch"][aria-checked="true"]:not(#sheetload){border-color:#2c4a78;background:#eef3fa;color:#223b61;box-shadow:inset 0 0 0 1px #2c4a78}
body .qt-bcfg button.qt-tsw.qt-tsw[role="switch"]:disabled:not(#sheetload){opacity:.45;cursor:default}
.qt-bcfg .qt-swk{display:none} .qt-bcfg .qt-tsw[aria-checked="true"]>span::before{content:"✓\00a0";font-weight:800}
.qt-bbar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;border:1px solid #d3d9e2;border-radius:12px;background:#fff}
.qt-bbar .qt-pdfst{margin:0 auto 0 0}
@media (max-width:640px){ .qt-bbar>button{flex:1 1 0} }
/* a folha */
.qt-bname{display:flex;flex-direction:column;min-width:0;text-align:right} .qt-bname small{font:700 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.14em;color:#fff} .qt-bname span{margin-top:2px;font:400 12px/1.5 Arial,Helvetica,sans-serif;color:#d6e2ee} /* v463: a cidade e o telefone · site na faixa */
.qt-csub{margin:0 0 14px;font:400 15px/1.5 Arial,Helvetica,sans-serif;color:#4b5563}
.qt-cover-min .qt-title,.qt-cover-min .qt-csub,.qt-cover-min .qt-brand small{display:none}
.qt-lede{margin:0 0 12px;font-size:12.5px;line-height:1.6;color:var(--ink2)}
.qt-card .qt-pair{border:0;border-radius:0;border-bottom:1px solid var(--line)}
.qt-sheet{max-width:720px;margin-left:auto;margin-right:auto} .qt-cards{grid-template-columns:repeat(2,minmax(0,1fr))} /* como o estimador: a folha centralizada, duas janelas por linha */
@media (max-width:560px){.qt-cards{grid-template-columns:1fr}} /* no telefone um cartao por linha: o par de fora / de dentro fica grande */
.qt-card .qt-dr svg{max-height:200px}
.qt-card-m{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qt-cns{display:flex;flex-wrap:wrap;gap:8px} .qt-cname{display:inline-flex;align-items:center;gap:4px} .qt-csw{width:12px;height:12px;border-radius:3px;background:var(--sw,#fff);box-shadow:0 0 0 1px var(--line) inset}
.qt-croom{margin-left:auto;color:var(--ink2)}
.qt-fin{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fcfdfe;font-size:12.5px;color:var(--ink2)} .qt-fin b{color:var(--ink)}
.qt-kvs{display:grid;grid-template-columns:110px 1fr;gap:5px 12px;font-size:12.5px} .qt-kk{font:700 9px/1.6 Archivo,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)} .qt-kvv{padding-bottom:6px;border-bottom:1px solid #eef1f4;color:var(--ink2)}
.qt-warr{border:1px solid var(--line);border-radius:10px;overflow:hidden} .qt-wr{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:8px 12px;border-bottom:1px solid #eef1f4;font-size:12.5px} .qt-wr:last-child{border-bottom:0} .qt-wr:nth-child(odd){background:#fafbfc} .qt-wr b{font:600 12.5px/1.3 Georgia,serif} .qt-wr span{color:var(--ink2)}
.qt-wintro{margin:0 0 8px;font-size:12.5px;line-height:1.5;color:var(--ink2)} /* v456 (T4): a abertura aprovada da garantia; 'What is included' por serie, como a proposta assinada */
.qt-incg{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px} .qt-inc{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff} .qt-inc.on{border:2px solid #8a6d2f} .qt-inch{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:6px} .qt-inch b{font:600 13px/1.3 Georgia,serif;color:var(--ink)} .qt-inch small{font:700 9px/1.4 Archivo,sans-serif;letter-spacing:.06em;color:#8a6d2f}
.qt-incp{margin-bottom:4px;font-size:12px;font-weight:700;color:var(--ink)} .qt-inci{padding:1px 0;font-size:12px;color:var(--ink2)} .qt-incd{font-style:normal;font-weight:700;color:#2e7d32} /* sem flex: o conversor do PDF transforma o filho de um flex em bloco e o ponto ficava numa linha e o texto na outra. v456 (conserto): o ponto e' TEXTO (um bullet + espaco duro, no molde qt-tpl-inci) — a caixa de 6 px com margem e border-radius saia no PDF como um quadrado encostado no texto (o conversor nao leva margem nem border-radius) */
.qt-trustg{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px} .qt-tz{padding:2px 0 2px 11px;border-left:2.5px solid #1d4e79} .qt-tz b{display:block;margin-bottom:4px;font:600 12.5px/1.3 Georgia,serif} .qt-tz p{margin:0;font-size:11.5px;line-height:1.5;color:var(--ink2)}
.qt-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 16px 18px;border-top:2px solid #1d4e79;background:#fafbfc;font-size:11px;color:var(--muted)} .qt-foot b{color:var(--ink2)}
/* a Pre-visualizar: a folha sozinha, em tela cheia */
.qt-prev{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;background:#e9ecf0}
.qt-prevbar{display:flex;align-items:center;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-top,0px)) 16px;background:#fff;border-bottom:1px solid var(--line)} .qt-prevbar b{margin-right:auto;font:800 15px/1.2 Archivo,sans-serif}
.qt-prevx{width:40px;height:40px;font-size:16px}
.qt-prevbody{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:14px 10px 40px} .qt-prevbody .qt-sheet{max-width:720px;margin:0 auto}
/* v713 (esboco S1–S6 "Review and send"): a conferencia do Send Quote — <dialog> no body (showModal). Larga: a brochura a esquerda (rola) e a coluna de 360 px
   com para quem vai, o resumo e os avisos; os botoes numa faixa embaixo. Estreita (telefone): tela cheia, tudo numa rolagem, os botoes lado a lado na faixa fixa.
   Cores fixas (a folha e' clara em todos os temas) e o :not(#sheetload) nos botoes, como a barra do telefone: o 'button' dos temas escuros pesa */
.qt-rv{width:min(1120px,96vw);height:min(880px,94vh);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:16px;background:#e9ecf0;color:#1d2433;font-family:"Source Sans 3",sans-serif;box-shadow:0 20px 60px rgba(10,20,40,.35);overflow:hidden}
.qt-rv::backdrop{background:rgba(15,20,30,.55)}
.qt-rvin{display:flex;flex-direction:column;height:100%}
.qt-rvbar{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;background:#fff;border-bottom:1px solid #d3d9e2} .qt-rvbar b{margin-right:auto;font:800 16px/1.2 Archivo,sans-serif;color:#1d2433}
.qt-rvgrid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}
.qt-rvsheet{grid-column:1;grid-row:1;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:14px 12px 30px}
.qt-rvside{grid-column:2;grid-row:1;overflow:auto;display:flex;flex-direction:column;gap:16px;padding:16px;background:#fff;border-left:1px solid #d3d9e2}
.qt-rvsec{display:flex;flex-direction:column;gap:3px} .qt-rv .qt-sgh{margin-bottom:3px;color:#5f6b7d}
.qt-rvname{font:800 17px/1.25 Archivo,sans-serif;color:#1d2433} .qt-rvmail{font-size:15px;color:#2c4a78;overflow-wrap:anywhere} .qt-rvmail[data-none]{color:#8a4a06;font-weight:700}
.qt-rvtot{font:800 28px/1.1 Archivo,sans-serif;font-variant-numeric:tabular-nums;color:#1d2433} .qt-rvtl{font-size:12px;color:#5f6b7d} .qt-rvl{font-size:14px;line-height:1.35;color:#3d4757}
.qt-rv .qt-chkl{gap:8px}
.qt-rvbtns{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d3d9e2}
body .qt-rv .qt-rvbtns button.qt-rvno.qt-rvno.qt-rvno[data-qt-rvcancel]:not(#sheetload),body .qt-rv .qt-rvbtns button.qt-rvgo.qt-rvgo.qt-rvgo[data-qt-rvsend]:not(#sheetload){min-width:140px;height:48px;min-height:0;margin:0;padding:0 20px;border-radius:12px;font:700 16px/1.1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-rv .qt-rvbtns button.qt-rvno.qt-rvno.qt-rvno[data-qt-rvcancel]:not(#sheetload){border:1px solid #c9d1dc;background:#fff;color:#2c4a78;box-shadow:none}
body .qt-rv .qt-rvbtns button.qt-rvgo.qt-rvgo.qt-rvgo[data-qt-rvsend]:not(#sheetload){border:0;background:#2c4a78;color:#fff;box-shadow:0 4px 12px rgba(44,74,120,.3)}
body .qt-rv .qt-rvbtns button.qt-rvgo.qt-rvgo.qt-rvgo[data-qt-rvsend]:disabled:not(#sheetload){opacity:.55;box-shadow:none;cursor:default}
@media (max-width:759px){ .qt-rv{width:100vw;height:100vh;height:100dvh;border-radius:0} .qt-rvgrid{display:block;overflow:auto;-webkit-overflow-scrolling:touch}
  .qt-rvside{border-left:0;border-bottom:1px solid #d3d9e2;overflow:visible} .qt-rvsheet{overflow:visible;padding:12px 8px 24px}
  body .qt-rv .qt-rvbtns button.qt-rvno.qt-rvno.qt-rvno[data-qt-rvcancel]:not(#sheetload),body .qt-rv .qt-rvbtns button.qt-rvgo.qt-rvgo.qt-rvgo[data-qt-rvsend]:not(#sheetload){flex:1 1 0;min-width:0} }
/* imprimir: so a folha marcada (data-qt-printme), a da brochura ou a da Pre-visualizar */
@media print{
  body.qt-printing .qt-sheet:not([data-qt-printme]),body.qt-printing .qt-sheet:not([data-qt-printme]) *{visibility:hidden}
  body.qt-printing [data-qt-printme]{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none;border-radius:0}
  body.qt-printing .qt-prev{position:static;display:block;overflow:visible;background:none}
  body.qt-printing .qt-prevbody{overflow:visible;padding:0}
  body.qt-printing .qt-card,body.qt-printing .qt-path,body.qt-printing .qt-warr{break-inside:avoid}
}

/* v434 — os opcionais: as escolhas com custo e venda (ou "sem preco Vytex" e o campo da venda). v560: cada grupo e' um CARTAO do painel da linha (o bloco
   "v560 — o painel da linha", no fim do arquivo); o de cor com paleta fecha (.qt-ogpal) */
.qt-og{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1.5px solid #d3d9e2;border-radius:13px;background:#fff;color:#1d2433}
.qt-ogh{display:flex;align-items:center;gap:8px}
.qt-ogh>b{flex:1;min-width:0;font:800 14px/1.2 Archivo,sans-serif;color:#1d2433}
.qt-ogopen{border-color:#2c4a78}
.qt-ogb{display:flex;flex-direction:column;gap:8px}
.qt-oc{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left} .qt-oc small{font:500 11.5px/1.25 "Source Sans 3",sans-serif;color:#5f6b7d}
.qt-oc[aria-pressed="true"] small{color:#d6e0ef}
.qt-ocoff{opacity:.45;text-decoration:line-through} .qt-ocnp small{color:#a12b2b} .qt-ocnp[aria-pressed="true"] small{color:#ffe0e0}
.qt-ocsw span::before{content:'';display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:50%;vertical-align:-1px;background:var(--sw,#fff);box-shadow:0 0 0 1px rgba(0,0,0,.25) inset}
.qt-np{display:flex;flex-direction:column;gap:4px} .qt-np small{font:700 11.5px/1.2 Archivo,sans-serif;letter-spacing:.02em;color:#a12b2b} .qt-np .qt-in{max-width:160px}
.qt-ogn{margin:0;font-size:12.5px;line-height:1.4;color:#5f6b7d}
/* v439 — o comparativo da Vytex na brochura (a serie recomendada destacada) */
.qt-cmpbox{margin-top:14px} .qt-cmpw{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.qt-cmp{width:100%;border-collapse:collapse;font-size:12px} .qt-cmp th,.qt-cmp td{padding:6px 8px;border-bottom:1px solid #eef1f4;text-align:left;vertical-align:top}
.qt-cmp tr:first-child th{background:#1d4e79;color:#fff;font:700 11.5px/1.3 Archivo,sans-serif} .qt-cmp tr:first-child th.qt-cmprec{background:#8a6d2f}
.qt-cmp td.qt-cmprec{background:#fbf6ea;font-weight:600} .qt-cmp th{background:#fff;font:500 12px/1.35 "Source Sans 3",sans-serif;letter-spacing:0;text-transform:none;color:var(--ink2)} /* a casca estiliza th: aqui e'  o rotulo da linha */
.qt-cmpsec th,.qt-cmpsec td{background:#f0f3f6;font:800 10px/1.4 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#1d4e79}
@media print{ body.qt-printing .qt-cmpbox{break-inside:avoid} body.qt-printing .qt-cmpw{overflow:visible} }
/* v445 — o olho: custo e markup so para o vendedor */
.qt-topr{display:flex;align-items:center;gap:8px}
/* v697 (Q0, P1 do esboco): nada de icone sem nome — "Cost" com a chave pequena (ligada = custo e markup a vista) e "Preview" com a folhinha */
body .qt-top button.qt-eye.qt-eye[data-qt-eye]:not(#sheetload),body .qt-top button.qt-prevb.qt-prevb[data-qt-preview]:not(#sheetload){display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;height:38px;min-height:0;margin:0;padding:0 12px;border:1px solid #c9d0db;border-radius:10px;background:#fff;color:#1d2433;font:600 13.5px/1 Archivo,sans-serif;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.qt-eyesw{position:relative;display:block;width:28px;height:16px;border-radius:8px;background:#8a93a0} .qt-eyesw::after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .15s}
.qt-eye[aria-pressed="true"] .qt-eyesw{background:#2c4a78} .qt-eye[aria-pressed="true"] .qt-eyesw::after{left:14px}
.qt-top .qt-prevb svg{width:17px;height:17px;flex:none}
.qt-cfgf[hidden],.qt-office[hidden]{display:none!important}
/* v447 — as fotos da Visualizar na folha: o fundo da capa (esmaecido), a foto no topo, as paginas com as opcoes lado a lado */
.qt-vzbg{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;opacity:.24;pointer-events:none}
.qt-cover>:not(.qt-vzbg){position:relative}
.qt-vzcap{border-bottom:1px solid var(--line)}.qt-vzcap .qt-vzfig img{border-radius:0}.qt-vzcap figcaption{padding:0 16px 8px}
.qt-vzpage{break-inside:avoid}
.qt-vzopts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.qt-vzfig{display:flex;flex-direction:column;gap:6px;margin:0;break-inside:avoid}
.qt-vzfig img{display:block;width:100%;height:auto;border-radius:8px;background:#e8edf2}
.qt-vzfig figcaption{display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.35;color:var(--muted)}.qt-vzfig figcaption b{font:700 12.5px/1.25 Archivo,sans-serif;color:#1d4e79}
/* v449 (esboco v449, opcao 2): o cabecalho numa linha so — as tres abas esticam ate o olho e o Pre-visualizar (agora icone, como o olho) */
/* v697 (Q0 · M1): numa linha so quando cabe (540 px ou mais, @container qtt); estreita, o titulo "Quote" + Cost + Preview em cima e as 3 abas embaixo, inteiras */
.qt-top{flex-wrap:wrap;container:qtt / inline-size;row-gap:8px}
.qt-ttl{flex:1 1 auto;font:800 18px/1.2 Archivo,sans-serif;color:var(--ink)}
.qt-top .qt-views{order:2;flex:1 1 100%;width:auto;min-width:0}.qt-top .qt-views button{flex:1;min-width:0;padding-left:4px;padding-right:4px}
.qt-topr{flex:none}
@container qtt (min-width:540px){ .qt-ttl{display:none} .qt-top .qt-views{order:0;flex:1 1 auto;max-width:440px} }
/* v452 (esboco aprovado 02/10) — o vidro do trabalho: double x triple lado a lado. Na tela os cartoes sao botoes (tocar aplica em todas as janelas
   padrao; o escolhido no azul do app); na folha, o escolhido no dourado do "Recommended" dos caminhos */
.qt-glass{margin:10px 0 12px} .qt-gh{margin:0 0 6px;font:700 10.5px/1.2 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.qt-gnote{margin:0 0 6px;font:600 11.5px/1.35 Archivo,sans-serif;color:var(--muted)}
.qt-gcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.qt-gcard{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:0;margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;text-align:left}
button.qt-gcard{cursor:pointer} button.qt-gcard[disabled]{opacity:.55;cursor:default}
.qt-gcard b{font:800 14px/1.2 Archivo,sans-serif} .qt-gcard small{font:600 11.5px/1.3 Archivo,sans-serif;color:var(--muted)}
.qt-gcard span{margin-top:3px;font:800 16px/1.2 Archivo,sans-serif;font-variant-numeric:tabular-nums}
.qt-gcard em{font:700 12px/1.3 Archivo,sans-serif;font-style:normal;color:var(--ink2)}
.qt-gcard i{font:700 10px/1.3 Archivo,sans-serif;font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
button.qt-gcard[aria-pressed="true"]{border-color:var(--accent);background:var(--acc2,#e3edf7);box-shadow:inset 0 0 0 1px var(--accent)}
.qt-sheet .qt-glass{margin:18px 0 0} .qt-sheet .qt-gh{font-size:10px;letter-spacing:.13em}
.qt-sheet .qt-gcard b{font:700 14px/1.2 Georgia,serif} .qt-sheet .qt-gcard.qt-on{border:2px solid #8a6d2f;box-shadow:0 3px 12px rgba(138,109,47,.14)}
.qt-sheet .qt-gcard.qt-on span,.qt-sheet .qt-gcard i{color:#8a6d2f}
body.qt-printing .qt-glass{break-inside:avoid}

/* v560 — o painel da linha (esboco "Quote line editor", Rafael 14/10 "aprovo as recomendadas"): E1 barra · E2 cabecalho · E3 abas · E4 corpo · E5 bandeja.
   Cores fixas, claro em todo tema (como o Quick add); os botoes no peso (1,6,2) contra o 'button' generico dos temas escuros. Telefone (.qt-eov): por cima de
   tudo. PC (.qt-eside): a coluna da direita da Quote (.qt-hased), presa no alto como a coluna da esquerda da tela Job (top 73 px), cartoes em 2 colunas */
.qt-edit{display:flex;flex-direction:column;min-height:0;background:#f2f4f7;color:#1d2433;font-family:"Source Sans 3",sans-serif}
.qt-edit.qt-eov{position:fixed;inset:0;z-index:120}
body[data-mz] .qt-edit.qt-eov{display:none} /* o ✎ abre o measure tool: o painel some ate o Done */
.qt.qt-hased{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:12px 16px;align-items:start}
.qt.qt-hased>.qt-top,.qt.qt-hased>.qt-body{grid-column:1;min-width:0}
.qt-edit.qt-eside{grid-column:2;grid-row:1 / span 2;position:sticky;top:73px;max-height:calc(100vh - 85px);border:1px solid #d3d9e2;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(29,36,51,.10)}
/* E1 — a barra */
.qt-ebar{flex:none;display:flex;align-items:center;gap:2px;padding:calc(6px + env(safe-area-inset-top,0px)) 6px 6px;background:#2c4a78;color:#fff}
.qt-eside .qt-ebar{padding-top:6px}
.qt-ebt{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center}
.qt-ebt b{max-width:100%;font:800 17px/1.2 Archivo,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.qt-ebt small{font:600 12px/1.2 "Source Sans 3",sans-serif;color:#d6e0ef}
body .qt-edit[data-qt-edit] button.qt-eib.qt-eib.qt-eib[type="button"]:not(#sheetload){flex:none;width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#fff;font:700 26px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-edit[data-qt-edit] button.qt-eib.qt-ex.qt-eib[type="button"]:not(#sheetload){font-size:20px}
body .qt-edit[data-qt-edit] button.qt-eib.qt-eib.qt-eib[type="button"]:disabled:not(#sheetload){opacity:.3;cursor:default}
/* E2 — o cabecalho: o par pequeno (tocar amplia), o tipo · quantidade, a peca, o ✎; os avisos ≈ embaixo */
.qt-ehead{flex:none;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#fff;border-bottom:1px solid #d3d9e2}
.qt-ehrow{display:flex;align-items:center;gap:10px}
body .qt-edit[data-qt-edit] button.qt-epair.qt-epair.qt-epair[type="button"]:not(#sheetload){flex:none;display:flex;gap:3px;width:auto;min-height:0;margin:0;padding:3px;border:1px solid #d3d9e2;border-radius:8px;background:#f7f9fc;cursor:zoom-in}
body .qt-edit[data-qt-edit] button.qt-epair.qt-epair.qt-epair[aria-pressed="true"]:not(#sheetload){border-color:#2c4a78;cursor:zoom-out}
.qt-epic{display:flex;align-items:center;justify-content:center;width:30px;height:46px;overflow:hidden}
.qt-epic svg{width:30px;max-height:46px;height:auto;display:block} .qt-epic img{max-width:30px;max-height:46px;display:block}
.qt-emeta{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;gap:2px}
.qt-emeta b{font:800 16px/1.2 Archivo,sans-serif;color:#1d2433}
.qt-emeta .qt-part{margin:0;font:600 12.5px/1.3 "Source Sans 3",sans-serif;color:#5f6b7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .qt-edit[data-qt-edit] .qt-ehrow button.qt-editw.qt-editw.qt-editw[data-qt-editw][type="button"]:not(#sheetload){flex:none;width:auto;min-height:44px;margin:0;padding:0 12px;font-size:14px}
.qt-ehrow .qt-editw small{display:none}
.qt-eside .qt-ehrow .qt-editw small{display:inline;margin-left:8px}
.qt-ehead .qt-flag{background:#eef1f5;color:#3a4456}
/* E3 — as abas (como as categorias do Quick add); a bolinha vermelha = falta preco nessa aba */
.qt-etabs{flex:none;display:flex;gap:6px;padding:8px 12px;background:#fff;border-bottom:1px solid #d3d9e2;overflow-x:auto;scrollbar-width:none}
body .qt-edit[data-qt-edit] button.qt-etab.qt-etab.qt-etab[type="button"]:not(#sheetload){position:relative;flex:none;min-height:40px;margin:0;padding:0 16px;border:1.5px solid #b9c1cd;border-radius:20px;background:#fff;color:#1d2433;font:700 14.5px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-edit[data-qt-edit] button.qt-etab.qt-etab.qt-etab[aria-selected="true"]:not(#sheetload){border-color:#2c4a78;background:#2c4a78;color:#fff}
.qt-etdot{position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;background:#b3261e;border:2px solid #fff} .qt-etdot[hidden]{display:none}
/* v561 (B1) — a pilula 3D depois do Price: escura e com o cubo, para nao parecer mais uma aba (ela nao troca o corpo, abre a tela cheia). Com ela,
   as cinco ficam um pouco mais justas para caber sem rolar no telefone de 375 px; abaixo de 370 px o cubo sai e fica so "3D" */
.qt-etabs.qt-etabs3d{gap:5px;padding:8px 10px}
body .qt-edit[data-qt-edit] .qt-etabs3d button.qt-etab.qt-etab.qt-etab[type="button"]:not(#sheetload){padding:0 11px;font-size:13.5px}
body .qt-edit[data-qt-edit] button.qt-et3d.qt-et3d.qt-et3d[type="button"]:not(#sheetload){flex:none;display:inline-flex;align-items:center;gap:5px;min-height:40px;margin:0;padding:0 11px;border:1.5px solid #1d2433;border-radius:20px;background:#1d2433;color:#fff;font:800 13.5px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
.qt-et3d svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
@media (max-width:370px){ .qt-et3d svg{display:none} }
/* E4 — o corpo que rola: so a aba aberta, em cartoes */
.qt-ebody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:8px;padding:10px 12px 16px}
.qt-eside .qt-ebody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;align-content:start}
.qt-eside .qt-ebody>.qt-how,.qt-eside .qt-ebody>[data-qt-og="coil"],.qt-eside .qt-ebody>.qt-ogopen,.qt-eside .qt-ebody>[data-qt-og="glass"],.qt-eside .qt-ebody>[data-qt-og="dglass"],.qt-eside .qt-ebody>.qt-eprice{grid-column:1 / -1}
.qt-ebody .qt-how{background:#d3d9e2;border-color:#d3d9e2}
body .qt-edit[data-qt-edit] button.qt-ogall.qt-ogall.qt-ogall[type="button"]:not(#sheetload){flex:none;min-height:32px;margin:0;padding:0 10px;border:1px solid #b9c1cd;border-radius:16px;background:#fff;color:#2c4a78;font:700 12.5px/1 Archivo,sans-serif;white-space:nowrap;cursor:pointer;touch-action:manipulation}
/* os chips das escolhas: o alvo de 40 px, o azul do Quick add na escolhida */
.qt-edit .qt-cols{gap:6px}
body .qt-edit[data-qt-edit] button.qt-col.qt-col.qt-col[type="button"]:not(#sheetload){min-height:40px;margin:0;padding:6px 12px;border:1.5px solid #b9c1cd;border-radius:10px;background:#fff;color:#1d2433;font:700 14px/1.15 "Source Sans 3",sans-serif;text-align:left;cursor:pointer;touch-action:manipulation}
body .qt-edit[data-qt-edit] button.qt-col.qt-col.qt-col[aria-pressed="true"]:not(#sheetload){border-color:#2c4a78;background:#2c4a78;color:#fff}
body .qt-edit[data-qt-edit] button.qt-col.qt-col.qt-col[type="button"]:disabled:not(#sheetload){cursor:default}
body .qt-edit[data-qt-edit] [data-qt-og="glass"] button.qt-col.qt-col.qt-col[type="button"]:not(#sheetload),body .qt-edit[data-qt-edit] [data-qt-og="dglass"] button.qt-col.qt-col.qt-col[type="button"]:not(#sheetload){width:100%} /* os pacotes de vidro tem nome comprido: um por linha */
/* o cartao de cor que fecha (o coil e a paleta de um grupo, ex. VyCoat colour): a amostra, o titulo e o nome; o ▾ */
body .qt-edit[data-qt-edit] button.qt-pick.qt-pick.qt-pick[type="button"]:not(#sheetload){flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#1d2433;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
.qt-picksw{flex:none;width:32px;height:32px;border-radius:8px;background:var(--sw,#fff);box-shadow:0 0 0 1px rgba(0,0,0,.2) inset}
.qt-pickt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.qt-pickt b{font:800 14px/1.2 Archivo,sans-serif;color:#1d2433}
.qt-pickt span{font:400 13px/1.25 "Source Sans 3",sans-serif;color:#5f6b7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qt-pickv{flex:none;width:20px;font-style:normal;text-align:center;color:#2c4a78}
.qt-ogopen .qt-pickv{transform:rotate(180deg)}
/* o $ do capping price: vermelho tracejado (e a bolinha) sem preco; o valor em azul com preco; aberto = azul cheio */
body .qt-edit[data-qt-edit] button.qt-prb.qt-prb.qt-prb[type="button"]:not(#sheetload){position:relative;flex:none;min-width:42px;height:40px;min-height:0;margin:0;padding:0 9px;border:1.5px dashed #b3261e;border-radius:10px;background:#fff;color:#b3261e;font:800 15px/1 Archivo,sans-serif;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation}
/* v686: o preco do capeamento ficou opcional — o $ vazio nao leva mais o ponto vermelho */
body .qt-edit[data-qt-edit] button.qt-prb.qt-prset.qt-prb[type="button"]:not(#sheetload){border-style:solid;border-color:#2c4a78;color:#2c4a78}
body .qt-edit[data-qt-edit] button.qt-prb.qt-prb.qt-prb[aria-expanded="true"]:not(#sheetload){border-style:solid;border-color:#2c4a78;background:#2c4a78;color:#fff}
.qt-prf{padding-top:8px;border-top:1px solid #d3d9e2;gap:4px}
.qt-prl{font:700 11px/1.2 Archivo,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#5f6b7d}
.qt-prw{font:700 12px/1.2 "Source Sans 3",sans-serif;color:#b3261e}
.qt-prr{display:flex;align-items:center;gap:8px;margin-top:2px}
.qt-prr .qt-in{width:130px}
.qt-prr .qt-ogall{margin-left:auto}
body .qt-edit[data-qt-edit] button.qt-prok.qt-prok.qt-prok[type="button"]:not(#sheetload){min-height:40px;margin:0;padding:0 16px;border:0;border-radius:9px;background:#2c4a78;color:#fff;font:800 14px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
/* a paleta do coil: 9 por linha no telefone; no PC quadrados fixos (nao esticam com a largura) */
.qt-edit .qt-pal{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}
.qt-eside .qt-pal{grid-template-columns:repeat(auto-fill,30px)}
body .qt-edit[data-qt-edit] button.qt-sw.qt-sw.qt-sw[type="button"]:not(#sheetload){position:relative;aspect-ratio:1;width:auto;height:auto;min-height:0;margin:0;padding:0;border:0;border-radius:6px;background:var(--sw,#fff);box-shadow:0 0 0 1px rgba(0,0,0,.15) inset;cursor:pointer;touch-action:manipulation}
body .qt-edit[data-qt-edit] button.qt-sw.qt-sw.qt-sw[aria-pressed="true"]:not(#sheetload){box-shadow:0 0 0 2px #fff inset,0 0 0 2px #2c4a78}
/* o "window colour" em todas (vinil · fora · VyCoat · dentro) */
.qt-og.qt-ecolor{flex-direction:row;align-items:center;gap:10px}
.qt-ecolor p{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;gap:1px} .qt-ecolor b{font:800 14px/1.2 Archivo,sans-serif} .qt-ecolor small{font-size:12.5px;color:#5f6b7d}
/* os campos e os botoes pequenos do painel */
body .qt-edit[data-qt-edit] input.qt-in.qt-in.qt-in:not(#sheetload){min-height:40px;margin:0;padding:0 10px;border:1.5px solid #b9c1cd;border-radius:9px;background:#fff;color:#1d2433;font:600 15px/1.2 "Source Sans 3",sans-serif;box-sizing:border-box}
body .qt-edit[data-qt-edit] .qt-np input.qt-in.qt-in.qt-in:not(#sheetload){border-style:dashed;border-color:#c96a6a}
body .qt-edit[data-qt-edit] button.qt-add.qt-add.qt-add[type="button"]:not(#sheetload){align-self:flex-start;min-height:40px;margin:0;padding:0 12px;border:1.5px dashed #b9c1cd;border-radius:10px;background:#fff;color:#1d2433;font:600 14px/1 "Source Sans 3",sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-edit[data-qt-edit] button.qt-unit.qt-unit.qt-unit[type="button"]:not(#sheetload),body .qt-edit[data-qt-edit] button.qt-xdel.qt-xdel.qt-xdel[type="button"]:not(#sheetload){width:40px;height:40px;min-height:0;margin:0;padding:0;border:1.5px solid #b9c1cd;border-radius:9px;background:#fff;color:#2c4a78;font:800 14px/1 Archivo,sans-serif;cursor:pointer}
body .qt-edit[data-qt-edit] button.qt-use.qt-use.qt-use[type="button"]:not(#sheetload){min-height:40px;margin:0;padding:0 14px;border:0;border-radius:9px;background:#8a6d2f;color:#fff;font:700 14px/1 Archivo,sans-serif;cursor:pointer}
.qt-edit .qt-duo input{width:84px}
.qt-edit .qt-x{grid-template-columns:minmax(0,1fr) 56px 90px 40px}
.qt-edit .qt-fld>small,.qt-edit .qt-disc>small,.qt-edit .qt-xf small{color:#5f6b7d}
.qt-edit .qt-duo em{color:#5f6b7d}
.qt-edit .qt-item{color:#3a4456;border-bottom-color:#e9edf2;font-size:14px} .qt-edit .qt-item b{color:#1d2433} .qt-edit .qt-item small{color:#5f6b7d}
.qt-eprice{display:flex;flex-direction:column;gap:8px}
.qt-og.qt-chk{flex-direction:row;align-items:center;gap:10px;min-height:48px;font-size:15px;color:#1d2433;cursor:pointer}
.qt-og.qt-chk input{width:20px;height:20px;margin:0}
/* E5 — a bandeja: o total da linha sempre a vista e o Done grande (o Add do Quick add) */
.qt-etray{flex:none;display:flex;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d3d9e2;box-shadow:0 -4px 14px rgba(29,36,51,.10)}
.qt-eside .qt-etray{padding-bottom:10px}
.qt-etot{flex:1;min-width:0;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:3px}
.qt-etot small{flex-basis:100%;font:700 11px/1 Archivo,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5f6b7d}
.qt-etot b{font:800 22px/1.1 Archivo,sans-serif;font-variant-numeric:tabular-nums;color:#1d2433}
.qt-etot em{font:700 13px/1 "Source Sans 3",sans-serif;font-style:normal;color:#5f6b7d}
/* v700 (esboco "mapa e esboco do operador", quadro 8 E1–E5 e M3) — E2 a segunda linha do cabecalho: a chave "In the quote" (a mesma da linha) e os avisos
   numa linha que abre; E4 "Apply to all" em texto; editor largo (600 px ou mais, @container qte) = cada grupo numa LINHA: o nome, as escolhas, o Apply to all;
   E5 a faixa Job total · Send › em cima da bandeja */
.qt-edit{container:qte / inline-size}
.qt-ehrow2{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
body .qt-edit[data-qt-edit] button.qt-eon.qt-eon[data-qt-lon]:not(#sheetload){display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:0 4px;border:0;border-radius:10px;background:transparent;color:#2c4a78;font:700 13.5px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-edit[data-qt-edit] button.qt-eon.qt-eon[data-qt-lon][aria-pressed="false"]:not(#sheetload){color:#7b8494}
body .qt-edit[data-qt-edit] button.qt-eon.qt-eon[data-qt-lon]:disabled:not(#sheetload){color:#8a93a0;cursor:not-allowed}
.qt-eon span{color:#1d2433} .qt-eon[aria-pressed="false"] .qt-lsw::after{right:19px}
.qt-fdet{min-width:0;font-size:12.5px;color:#3d4757} .qt-fdet>summary{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border-radius:999px;background:#eef1f5;font:700 12.5px/1 Archivo,sans-serif;cursor:pointer;list-style:none} .qt-fdet>summary::-webkit-details-marker{display:none}
.qt-fdet>summary::after{content:"⌄";font-size:14px;line-height:.6} .qt-fdet.qt-fwarn>summary{background:#fdf3e7;color:#8a4a06} .qt-fdet[open]{flex-basis:100%} .qt-fdet .qt-flags{margin-top:6px}
body .qt-edit[data-qt-edit] button.qt-ogall.qt-ogall.qt-ogall[type="button"]:not(#sheetload){min-height:36px;padding:0 6px;border:0;border-radius:8px;background:transparent;color:#2c4a78;font:700 13px/1 Archivo,sans-serif}
.qt-ejob{flex:none;display:flex;align-items:center;gap:10px;padding:8px 14px;background:#eef3fa;border-top:1px solid #d3d9e2;font-size:13px;color:#3d4757}
.qt-ejob b{font:800 15px/1 Archivo,sans-serif;color:#1d2433;font-variant-numeric:tabular-nums}
body .qt-edit[data-qt-edit] button.qt-ejsend.qt-ejsend[data-qt-esend]:not(#sheetload){margin:0 0 0 auto;min-height:36px;padding:0 12px;border:1px solid #2c4a78;border-radius:9px;background:#fff;color:#2c4a78;font:700 13.5px/1 Archivo,sans-serif;cursor:pointer}
.qt-edit .qt-etray{box-shadow:none}
@container qte (min-width:600px){
  .qt-eside .qt-ebody{display:flex;flex-direction:column;align-items:stretch}
  .qt-edit .qt-og:not(.qt-ogpal):not(.qt-chk):not(.qt-ecolor){display:grid;grid-template-columns:150px minmax(0,1fr) auto;column-gap:14px;row-gap:8px;align-items:center}
  .qt-edit .qt-og:not(.qt-ogpal):not(.qt-chk):not(.qt-ecolor)>.qt-ogh{display:contents}
  .qt-edit .qt-og:not(.qt-ogpal):not(.qt-chk):not(.qt-ecolor)>.qt-ogh>b{grid-column:1;grid-row:1}
  .qt-edit .qt-og:not(.qt-ogpal):not(.qt-chk):not(.qt-ecolor)>.qt-ogh>.qt-ogall{grid-column:3;grid-row:1}
  .qt-edit .qt-og:not(.qt-ogpal):not(.qt-chk):not(.qt-ecolor)>.qt-cols{grid-column:2;grid-row:1}
  .qt-edit .qt-og:not(.qt-ogpal):not(.qt-chk):not(.qt-ecolor)>:not(.qt-ogh):not(.qt-cols){grid-column:2 / -1}
}
body .qt-edit[data-qt-edit] button.qt-edone.qt-edone.qt-edone[type="button"]:not(#sheetload){flex:none;min-height:50px;margin:0;padding:0 30px;border:0;border-radius:12px;background:#2c4a78;color:#fff;font:800 17px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
@media print{ .qt-edit{display:none!important} }
/* v561 — o 3D em tela cheia (esboco "Quote em 3D": T1–T7), por cima de tudo (o painel da linha e o Quick add ficam em 120). O fundo e' o do palco do
   site (studio.css de a1window.com: o brilho sobre o azul-marinho), para o instante antes do iframe pintar; os botoes sao o vidro escuro do site e os
   textos ficam brancos sobre ele em qualquer tema. Os containers deixam passar o toque (pointer-events:none): arrastar no vazio gira a janela */
.qt3d{position:fixed;inset:0;z-index:140;overflow:hidden;color:#fff;font-family:"Source Sans 3",sans-serif;background:radial-gradient(62% 52% at 50% 46%,rgba(255,255,255,.26),rgba(255,255,255,.08) 55%,rgba(255,255,255,0) 74%),linear-gradient(180deg,#1b2537 0%,#0f172a 100%)}
.qt3d .qt3d-stage{position:absolute;inset:0}
.qt3d .qt3d-stage iframe{display:block;width:100%;height:100%;border:0}
/* T1 — a barra: ‹ titulo › ✕ */
.qt3d .qt3d-bar{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;align-items:center;gap:6px;padding:calc(8px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) 6px calc(10px + env(safe-area-inset-left,0px));pointer-events:none}
.qt3d .qt3d-bar>button{pointer-events:auto}
.qt3d .qt3d-t{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.qt3d .qt3d-t b{max-width:100%;font:800 17px/1.2 Archivo,sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.qt3d .qt3d-t small{font:600 12.5px/1.2 "Source Sans 3",sans-serif;color:rgba(255,255,255,.8)}
body .qt3d[data-qt3d] button.qt3d-b.qt3d-b.qt3d-b[type="button"]:not(#sheetload){flex:none;width:44px;height:44px;min-height:0;margin:0;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(15,23,42,.62);color:#fff;font:700 24px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt3d[data-qt3d] button.qt3d-b.qt3d-x.qt3d-b[type="button"]:not(#sheetload){font-size:18px}
body .qt3d[data-qt3d] button.qt3d-b.qt3d-b.qt3d-b[type="button"]:disabled:not(#sheetload){opacity:.3;cursor:default}
/* T3 — as vistas do site: vidro escuro, a escolhida branca */
.qt3d .qt3d-views{position:absolute;z-index:2;top:calc(62px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));right:calc(10px + env(safe-area-inset-right,0px));display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;pointer-events:none}
.qt3d .qt3d-views::-webkit-scrollbar{display:none}
body .qt3d[data-qt3d] button.qt3d-pill.qt3d-pill.qt3d-pill[type="button"]:not(#sheetload){flex:none;min-height:36px;margin:0;padding:0 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(15,23,42,.62);color:#fff;font:700 12.5px/1 Archivo,sans-serif;white-space:nowrap;cursor:pointer;touch-action:manipulation;pointer-events:auto}
body .qt3d[data-qt3d] button.qt3d-pill.qt3d-pill.qt3d-pill[aria-pressed="true"]:not(#sheetload){border-color:#fff;background:#fff;color:#0f172a}
/* T7 — Reset (so depois de aproximar ou mover) · T4 — ▶ abrir a janela (so nos tipos que abrem) */
body .qt3d[data-qt3d] button.qt3d-reset.qt3d-reset.qt3d-reset[type="button"]:not(#sheetload){position:absolute;z-index:2;top:calc(106px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));min-height:36px;margin:0;padding:0 13px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(15,23,42,.75);color:#fff;font:700 12.5px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt3d[data-qt3d] button.qt3d-play.qt3d-play.qt3d-play[type="button"]:not(#sheetload){position:absolute;z-index:2;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(58px + env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:46px;height:46px;min-height:0;margin:0;padding:0 0 0 3px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(15,23,42,.75);color:#fff;cursor:pointer;touch-action:manipulation;box-shadow:0 8px 20px -10px rgba(0,0,0,.7)}
body .qt3d[data-qt3d] button.qt3d-play.qt3d-play.qt3d-play[hidden]:not(#sheetload),body .qt3d[data-qt3d] button.qt3d-reset.qt3d-reset.qt3d-reset[hidden]:not(#sheetload){display:none}
.qt3d .qt3d-play svg{width:16px;height:16px;fill:#fff}
.qt3d .qt3d-reset span{margin-right:5px}
/* T5 — a dica (some no primeiro toque), na altura do ▶ · T6 — o selo da serie, sozinho na linha de baixo, numa linha so · o aviso quando o 3D nao sobe */
.qt3d .qt3d-hint{position:absolute;z-index:2;left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(60px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 92px);margin:0;padding:6px 11px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(15,23,42,.62);color:rgba(255,255,255,.9);font:600 12px/1.3 "Source Sans 3",sans-serif;pointer-events:none}
.qt3d .qt3d-badge{position:absolute;z-index:2;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 24px);margin:0;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(15,23,42,.62);color:#fff;font:700 11px/1.25 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.qt3d .qt3d-badge:empty,.qt3d .qt3d-hint[hidden],.qt3d .qt3d-msg[hidden]{display:none}
.qt3d .qt3d-msg{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(320px,calc(100% - 40px));margin:0;padding:14px 16px;border-radius:12px;background:rgba(15,23,42,.88);color:#fff;font:600 15px/1.4 "Source Sans 3",sans-serif;text-align:center}
@media print{ .qt3d{display:none!important} }
/* v572 — a janela sem troca da medida (L.keep) fica fora da proposta e o circulo dela travado: muda-se na medida */
[data-qt-lon][data-qt-lock]{cursor:not-allowed} /* v696 (L7): o cadeado no lugar da chave, cinza (sem o .45 — o cadeado ja diz travada) */
body .qt-lrw[data-qt-lrow] button.qt-lon.qt-lon[data-qt-lon][data-qt-lock]:not(#sheetload){color:#8a93a0;opacity:1}

/* ---- v681 — A BROCHURA EM 3 DESIGNS (docs/brochure-v2/SPEC.md, os valores de docs/brochure-v2/html/*.html): Clareza (.qb-c), Vitrine (.qb-v), Casa (.qb-h).
   A folha e' PAPEL: cores proprias (--qb-*, o padrao da marca da SPEC 1.1), nunca as do tema do app; Outfit nos titulos e numeros, Inter no texto (D8).
   As paginas de 816 px dos PNG = o layout do iPad, do PC e do PDF; no telefone (≤ 600 px, SPEC 1.5) as grades viram 1 coluna, a faixa em escala e a galeria
   ficam com 3 por linha, os cartoes de comodo 1 por linha, as series empilhadas com a escolhida primeiro, a tabela continua com as 4 colunas. ---- */
.qb{--qb-ink:#131322;--qb-cyan:#00C3E1;--qb-cyand:#0E7490;--qb-blue:#2563EB;--qb-blued:#1D4ED8;--qb-ink2:#4B5060;--qb-ink3:#646A79;--qb-line:#DADDE4;--qb-line2:#E6E8EE;--qb-lineh:#D7E3E8;--qb-soft:#F3F5F8;--qb-ice:#E8F8FB;--qb-gal:#EEF2F6;
  --qb-d:"Outfit","Inter","Segoe UI",system-ui,Arial,sans-serif;--qb-t:"Inter","Segoe UI",system-ui,Arial,sans-serif;
  color-scheme:light;container:qb/inline-size;display:flex;flex-direction:column;gap:18px;width:100%;max-width:816px;margin:0 auto;color:var(--qb-ink);font:400 14px/20px var(--qb-t);font-variant-numeric:tabular-nums;text-align:left}
.qb *{box-sizing:border-box}
.qb-pg{display:flex;flex-direction:column;background:#ffffff;border:1px solid #d5d9e0;border-radius:6px;box-shadow:0 2px 10px rgba(19,19,34,.08);padding:48px 56px 34px;overflow:hidden}
.qb-pg0{padding:0}
.qb-in{display:flex;flex-direction:column;padding:28px 56px 34px}
.qb :where(h1,h2,h3,p,ol,ul,li){margin:0;padding:0;border:0;background:none;list-style:none;text-transform:none;letter-spacing:normal;color:inherit;font:inherit} /* o h2 global do app (shell.css: borda, caixa alta, a cor do tema) nao entra na folha; :where = as classes abaixo vencem */
/* cabecalho, regua, rodape */
.qb-hd{display:flex;justify-content:space-between;align-items:center;gap:16px}
.qb-logo{display:block;width:125px;height:44px;flex:none}
.qb-logo-s{width:91px;height:32px}
.qb-hdc{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;line-height:18px;color:var(--qb-ink2)}
.qb-hdc b{font-weight:600;color:var(--qb-ink)}
.qb-hdt{font-size:13px;line-height:18px;color:var(--qb-ink3);text-align:right}
.qb-rule{display:flex;justify-content:flex-end;margin-top:20px;border-bottom:1px solid var(--qb-line)}
.qb-rulec{display:block;width:48px;height:3px;margin-bottom:-1px;background:var(--qb-cyan)}
.qb-foot{display:flex;justify-content:space-between;gap:16px;margin-top:28px;padding-top:14px;border-top:1px solid var(--qb-line);font-size:12px;line-height:16px;color:var(--qb-ink3)}
.qb-pn{flex:none}
/* tipos */
.qb-kick{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.qb-cap{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--qb-ink3)}
.qb-blue{color:var(--qb-blued)}
.qb-cyan{color:var(--qb-cyan)}
.qb-cyand{color:var(--qb-cyand)}
.qb-h1{margin-top:10px;font:500 44px/48px var(--qb-d);letter-spacing:-.01em;color:var(--qb-ink)}
.qb-h2{margin-top:28px;font:600 34px/40px var(--qb-d);letter-spacing:-.01em}
.qb-h3{font:600 20px/26px var(--qb-d)}
.qb-big{font:600 52px/56px var(--qb-d);letter-spacing:-.02em}
.qb-mid{font:600 24px/30px var(--qb-d)}
.qb-lede{margin-top:10px;font-size:16px;line-height:24px;color:var(--qb-ink2)}
.qb-lede b{font-weight:600;color:var(--qb-ink)}
.qb-sub{font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-note{font-size:13px;line-height:16px;color:var(--qb-ink3);text-align:right}
.qb-row2{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.qb-row2t{margin-top:28px}
.qb-row2t .qb-h2{margin-top:0}
.qb-panel{background:var(--qb-soft);border-radius:14px}
.qb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.qb-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border-radius:999px;background:#ffffff;border:1px solid var(--qb-line);font-size:12px;line-height:16px;font-weight:600}
.qb-kv{display:flex;justify-content:space-between;gap:16px}
.qb-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 10px;border-radius:999px;background:var(--qb-blue);color:#ffffff;font-size:12px;line-height:16px;font-weight:600}
.qb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:10px;font:600 17px/22px var(--qb-t);white-space:nowrap;flex:none}
.qb-btn-blue{background:var(--qb-blue);color:#ffffff}
.qb-btn-cyan{background:var(--qb-cyan);color:var(--qb-ink)}
.qb-btn-ink{background:var(--qb-ink);color:#ffffff;border-radius:999px}
.qb-qty{margin-left:6px;font-size:12px;font-weight:700;color:var(--qb-ink3)}
.qb-fine{margin-top:14px;font-size:12px;line-height:18px;color:var(--qb-ink3)}
/* v711 (N3): as Quote notes na brochura — a secao da pagina 3, antes da garantia, nos 3 designs (tech-notes.js tnBlocks → qtUiB2). A linha e' flex: o marcador
   (• ou 1.) numa coluna e o texto na outra (o PDF faz dela uma tabela de uma linha — o recuo da lista sobrevive); a cor e' a paleta das Tech notes */
.qb-notes{margin-top:28px} .qb-c .qb-notes{margin-bottom:24px} /* na Clareza o titulo da garantia nao tem margem propria */
.qb-ntx{margin-top:10px;font-size:16px;line-height:24px;color:var(--qb-ink2)}
.qb-nl{display:flex;gap:8px} .qb-nlm{flex:0 0 auto;min-width:14px;color:var(--qb-ink)} .qb-nlt{flex:1 1 auto;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
.qb-nlv1{padding-left:22px} .qb-nlv2{padding-left:44px} .qb-nlv3{padding-left:66px} .qb-nlgap{margin-top:12px} .qb-nlgap2{margin-top:24px}
.qb-ntx b{font-weight:600}
.qb-ntx [data-c="red"]{color:#c62828} .qb-ntx [data-c="orange"]{color:#d9730d} .qb-ntx [data-c="green"]{color:#2e7d32} .qb-ntx [data-c="blue"]{color:#1f5fa8}
.qb-fi{margin-right:6px}
.qb-fi b{font-weight:600;color:var(--qb-ink2)}
.qb-disc{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid var(--qb-line2);font-size:14px;line-height:20px;color:var(--qb-ink2)}
/* ---- Clareza ---- */
.qb-c2{margin-top:32px}
.qb-c3{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.qb-c3s{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));row-gap:14px}
.qb-sz{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.qb-szd{min-height:124px;display:flex;align-items:flex-end;justify-content:center}
.qb-szd svg,.qb-szd img{display:block;max-width:100%;height:auto}
.qb-szl{display:block;align-self:stretch;height:1px;background:#B9BEC9}
.qb-sz b{font-size:14px;line-height:18px;font-weight:600}
.qb-sz span{font-size:13px;line-height:16px;color:var(--qb-ink3)}
.qb-t4{font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-c4{margin-top:28px;padding:26px 28px;display:flex;flex-direction:column;gap:22px}
.qb-c4g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;align-items:start}
.qb-c4l{display:flex;flex-direction:column;gap:6px}
.qb-c4r{display:flex;flex-direction:column;font-size:15px;line-height:22px}
.qb-c4r .qb-kv,.qb-h3r .qb-kv{padding:8px 0;border-bottom:1px solid var(--qb-line)}
.qb-c4r .qb-kvb,.qb-h3r .qb-kvb{border-bottom:1.5px solid var(--qb-ink)}
.qb-c4r .qb-kvt,.qb-h3r .qb-kvt{border-bottom:0;font-weight:600}
.qb-c4r .qb-kvd{color:#1a6b3c;font-weight:700} /* v797: a linha "Your discount" do Install only */
.qb-valid{margin-top:6px;font-size:13px;line-height:18px;color:var(--qb-ink2)}
.qb-valid b{font-weight:600;color:var(--qb-ink)}
.qb-pay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.qb-payi{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-payi b{font-weight:600;color:var(--qb-ink)}
.qb-bar{display:block;height:8px;border-radius:4px}
.qb-bar-dep{background:var(--qb-blue)}
.qb-bar-bal{background:#B9BEC9}
.qb-c5{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.qb-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:14px}
.qb-st{display:flex;flex-direction:column;gap:8px}
.qb-sth{display:flex;align-items:center;gap:10px}
.qb-sth b{font:600 18px/24px var(--qb-d)}
.qb-stn{width:28px;height:28px;flex:none;border-radius:50%;background:var(--qb-blue);color:#ffffff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center}
.qb-st p{font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-strip{margin-top:22px;padding:18px 22px;display:flex;flex-wrap:wrap;gap:12px 28px}
.qb-spi{display:flex;flex-direction:column;gap:4px}
.qb-spi small{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--qb-ink3)}
.qb-spi b{font-size:15px;line-height:20px;font-weight:600}
.qb-tbl{width:100%;margin-top:22px;border-collapse:collapse;font-size:15px;line-height:20px}
.qb-tbl th{padding:0 0 10px;border-bottom:1.5px solid var(--qb-ink);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--qb-ink3);text-align:left}
.qb-tbl th:last-child,.qb-tdp{text-align:right}
.qb-tbl td{padding:9px 8px 9px 0;border-bottom:1px solid var(--qb-line2);vertical-align:top}
.qb-tbl td:last-child{padding-right:0}
.qb-tdn{width:40px;color:var(--qb-ink3);font-weight:600}
.qb-trsvc td{border-bottom:1.5px solid var(--qb-ink)}
.qb-trdisc td,.qb-trnote td{color:var(--qb-ink2);font-size:14px}
.qb-tdp.qb-blue{color:var(--qb-blued);font-weight:600}
.qb-tblt{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:16px}
.qb-tblt > b{font-size:16px;line-height:22px;font-weight:600}
.qb-tbltv{display:flex;flex-direction:column;align-items:flex-end}
.qb-tbltv small{font-size:13px;line-height:16px;color:var(--qb-ink3)}
.qb-c9,.qb-v10{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;border:1px solid var(--qb-line);border-radius:14px}
.qb-c9 .qb-cap{margin-bottom:4px}
.qb-c9r{display:flex;flex-direction:column;align-items:flex-end;flex:none;text-align:right}
.qb-c9r small{font-size:13px;line-height:18px;color:var(--qb-ink3)}
.qb-sers{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.qb-ser,.qb-mser{display:flex;flex-direction:column;gap:4px;padding:22px 24px;border:1px solid var(--qb-line);border-radius:14px;background:#ffffff}
.qb-ser.qb-on{border:2px solid var(--qb-blue);padding:21px 23px}
.qb-serh{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:24px}
.qb-serh small{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--qb-ink3)}
.qb-on .qb-serh small{color:var(--qb-blued)}
.qb-sern{font:600 18px/24px var(--qb-d)}
.qb-sert{font:600 26px/32px var(--qb-d)}
.qb-sers1{font-size:13px;line-height:18px;color:var(--qb-ink3)}
.qb-on .qb-sers1{color:var(--qb-blued);font-weight:600}
.qb-seri{margin-top:10px;padding-top:12px;border-top:1px solid var(--qb-line);display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-seri b{color:var(--qb-ink);font-weight:600}
.qb-li{display:flex;gap:8px}
.qb-ck{flex:none;font-style:normal;font-weight:700;color:var(--qb-blue)}
.qb-wcs{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px}
.qb-wc{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-radius:14px;background:var(--qb-soft)}
.qb-wck{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--qb-blued)}
.qb-wch{font:500 32px/38px var(--qb-d)}
.qb-wcs1{font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-we{margin-top:6px;font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-we b{color:var(--qb-ink);font-weight:600}
.qb-c12{margin-top:18px;padding:18px 22px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:#EEF3FD}
.qb-c12 > div{display:flex;flex-direction:column;gap:4px;flex:1 1 140px}
.qb-c12 small{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--qb-ink3)}
.qb-c12 b{font-size:15px;line-height:20px;font-weight:600}
/* ---- Vitrine ---- */
.qb-ink{background:var(--qb-ink);color:#ffffff}
.qb-v1{padding:32px 56px 36px;display:flex;flex-direction:column}
.qb-v1t{display:flex;justify-content:space-between;align-items:center;gap:16px}
.qb-v1 .qb-hdc{color:#B8BCC8}
.qb-v1 .qb-hdc b{color:#ffffff}
.qb-v1g{margin-top:30px;display:grid;grid-template-columns:minmax(0,1fr) 236px;column-gap:40px;align-items:center}
.qb-v1l{display:flex;flex-direction:column}
.qb-v1 .qb-kick{letter-spacing:.14em}
.qb-v1 .qb-h1{margin-top:12px;font-weight:600;font-size:46px;line-height:50px;letter-spacing:-.015em;color:#ffffff}
.qb-v1 .qb-lede{margin-top:14px;color:#C9CCD6}
.qb-v1 .qb-cap{margin-top:26px;color:#B8BCC8}
.qb-v1 .qb-big{margin-top:6px;font-size:60px;line-height:64px;color:#ffffff}
.qb-taxed{margin-top:4px;font-size:15px;line-height:20px;color:#C9CCD6}
.qb-v1 .qb-chips{margin-top:14px}
.qb-v1 .qb-chip{background:transparent;border-color:rgba(255,255,255,.3);color:#ffffff;font-size:13px}
.qb-v1w{display:grid;width:236px;height:320px}
.qb-v1f{grid-area:1/1;display:block;width:236px;height:320px}
.qb-v1d{grid-area:1/1;display:flex;align-items:center;justify-content:center;padding:28px 30px}
.qb-v1d svg,.qb-v1d img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}
.qb-v2{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 8px;padding:16px 56px;border-bottom:1px solid var(--qb-line2)}
.qb-tr{display:flex;align-items:center;gap:10px}
.qb-tr svg{width:20px;height:20px;flex:none}
.qb-tr b{font-size:13px;line-height:20px;font-weight:600;white-space:nowrap}
.qb-steps-v .qb-stn{width:36px;height:36px;border-radius:10px;background:var(--qb-ink);color:var(--qb-cyan);font:600 18px/22px var(--qb-d)}
.qb-v .qb-c5{margin-top:4px}
.qb-v4{margin-top:28px;display:flex;flex-direction:column;gap:10px}
.qb-v4g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4px}
.qb-v4d,.qb-v4b{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px}
.qb-v4d{border-radius:12px 0 0 12px}
.qb-v4b{background:#EEF1F5;border-radius:0 12px 12px 0}
.qb-v4d > div,.qb-v4b > div{display:flex;flex-direction:column;gap:2px}
.qb-v4d small,.qb-v4b small{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.qb-v4b small{color:var(--qb-ink2)}
.qb-v4d span{font-size:14px;line-height:20px;color:#C9CCD6}
.qb-v4b span{font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-v4d > b,.qb-v4b > b{font:600 22px/26px var(--qb-d)}
.qb-v5{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 16px 16px 22px;border:1.5px solid var(--qb-ink);border-radius:14px}
.qb-v5 > div{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:18px;color:var(--qb-ink2)}
.qb-v5 .qb-h3{color:var(--qb-ink)}
.qb-v6{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 56px;font-size:13px;line-height:18px;color:#C9CCD6}
.qb-v .qb-h2{margin-top:6px}
.qb-v .qb-h2s{margin-top:28px;font-size:28px;line-height:34px}
.qb-chips-f .qb-chip{background:var(--qb-gal);border:0;font-size:13px}
.qb-gal{margin-top:20px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.qb-gc{display:flex;flex-direction:column;border:1px solid var(--qb-line);border-radius:12px;overflow:hidden;background:#ffffff}
.qb-gcd{height:132px;padding:10px;display:flex;align-items:flex-end;justify-content:center;background:var(--qb-gal)}
.qb-gcd svg,.qb-gcd img{display:block;max-width:100%;height:auto}
.qb-gct{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;font-size:13px;line-height:18px;color:var(--qb-ink2)}
.qb-gct > b{font:600 15px/20px var(--qb-d);color:var(--qb-ink)}
.qb-gcn{font-size:12px;color:var(--qb-ink3)}
.qb-gcpr b{font-size:15px;font-weight:700;color:var(--qb-ink)}
.qb-discs{margin-top:12px}
.qb-v9{margin-top:12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;border-radius:14px}
.qb-badge-cyan{background:var(--qb-cyan);color:var(--qb-ink);font-weight:700}
.qb-v9s{flex:1 1 200px;font-size:15px;line-height:20px;color:#E6E8EE}
.qb-v9n{font-size:14px;color:#C9CCD6}
.qb-v9 .qb-mid{color:#ffffff}
.qb-v10{margin-top:12px}
.qb-sers-v .qb-ser{border:0;background:var(--qb-soft)}
.qb-sers-v .qb-ser.qb-on{background:var(--qb-ink);color:#ffffff;border:0;padding:22px 24px}
.qb-sers-v .qb-on .qb-serh small,.qb-sers-v .qb-on .qb-sers1{color:var(--qb-cyan)}
.qb-sers-v .qb-on .qb-badge{background:var(--qb-cyan);color:var(--qb-ink);font-weight:700}
.qb-sers-v .qb-on .qb-seri{border-top-color:rgba(255,255,255,.2);color:#E6E8EE}
.qb-sers-v .qb-on .qb-seri b{color:#ffffff}
.qb-sers-v .qb-ck{color:var(--qb-cyand)}
.qb-sers-v .qb-on .qb-ck{color:var(--qb-cyan)}
.qb-wcs-v .qb-wc{background:#ffffff;border:1px solid var(--qb-line)}
.qb-wcs-v .qb-wck{color:var(--qb-cyand)}
.qb-v14{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 56px 30px}
.qb-v14 > div{display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:20px;color:#C9CCD6}
.qb-h2w{font:600 26px/32px var(--qb-d);color:inherit}
.qb-v14 .qb-h2w{color:#ffffff}
/* ---- Casa ---- */
.qb-hdh{align-items:flex-start}
.qb-dot{display:block;flex:none;width:200px;height:176px;margin:-48px -56px 0 0}
.qb-dot-s{width:130px;height:110px}
.qb-h .qb-c2{margin-top:6px}
.qb-h1h{font-weight:700;font-size:42px;line-height:48px;letter-spacing:-.015em;max-width:560px}
.qb-h .qb-h2{font-weight:700;margin-top:10px}
.qb-h3b{margin-top:30px;padding:28px 30px;border-radius:24px;background:var(--qb-cyan);display:grid;grid-template-columns:minmax(0,1fr) 250px;column-gap:26px;align-items:center}
.qb-h3l{display:flex;flex-direction:column;gap:4px}
.qb-h3s{font-size:14px;line-height:20px;font-weight:600}
.qb-h3b .qb-big{font-weight:700;font-size:60px;line-height:64px}
.qb-h3b .qb-sub{color:var(--qb-ink)}
.qb-chips-h .qb-chip{background:rgba(255,255,255,.6);border:0}
.qb-h3r{background:#ffffff;border-radius:16px;padding:14px 18px;display:flex;flex-direction:column;font-size:14px;line-height:20px}
.qb-h3r .qb-kv{padding:7px 0;border-bottom-color:var(--qb-lineh)}
.qb-h4{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.qb-h4 .qb-h3{font-size:22px;line-height:28px}
.qb-tl{display:grid;grid-template-columns:132px 28px minmax(0,1fr) 112px;column-gap:12px}
.qb-tlw{padding-top:3px;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--qb-cyand)}
.qb-tlc{display:flex;flex-direction:column;align-items:center}
.qb-tll{display:block;flex:1;width:2px;margin-top:4px;background:#BFEAF2}
.qb-last .qb-tll{display:none}
.qb-tld{display:block;width:14px;height:14px;margin-top:4px;border-radius:50%;background:var(--qb-cyan)}
.qb-last .qb-tld{background:var(--qb-ink)}
.qb-tlb{display:flex;flex-direction:column;gap:3px;padding-bottom:14px}
.qb-tlb b{font:600 17px/22px var(--qb-d)}
.qb-tlb p{font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-tla{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.qb-tla b{font:600 18px/22px var(--qb-d)}
.qb-tla small{font-size:12px;line-height:16px;color:var(--qb-ink3)}
.qb-h5{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.qb-h5 .qb-h3{font-size:22px;line-height:28px}
.qb-chips-ice .qb-chip{background:var(--qb-ice);border:0}
.qb-rooms{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.qb-rm{border:1px solid var(--qb-lineh);border-radius:18px;padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}
.qb-rmh{display:flex;justify-content:space-between;align-items:center;gap:8px}
.qb-rmh b{font:600 17px/24px var(--qb-d)}
.qb-badge-ice{background:var(--qb-ice);color:var(--qb-cyand)}
.qb-rmd{min-height:104px;padding:8px;border-radius:12px;background:var(--qb-ice);display:flex;align-items:flex-end;justify-content:center;gap:6px}
.qb-rmdi svg,.qb-rmdi img{display:block}
.qb-rls{display:flex;flex-direction:column;gap:2px}
.qb-rl{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;font-size:12.5px;line-height:18px}
.qb-rln{font-size:12px;font-weight:700;color:var(--qb-ink3)}
.qb-rls1{flex:1 1 auto;white-space:nowrap}
.qb-rl b{margin-left:auto;white-space:nowrap}
.qb-rl b{font-weight:600}
.qb-h8{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;border-radius:16px;background:var(--qb-ice);font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-h8 b{color:var(--qb-ink);font-weight:600}
.qb-h8r{display:flex;align-items:baseline;gap:12px}
.qb-h8r .qb-mid{font-weight:700}
.qb-qas{margin-top:16px;display:flex;flex-direction:column;gap:14px}
.qb-qa{display:flex;flex-direction:column;gap:6px}
.qb-qaq{display:flex;align-items:center;gap:10px;font:600 17px/22px var(--qb-d)}
.qb-qad{display:block;width:10px;height:10px;flex:none;border-radius:50%;background:var(--qb-cyan)}
.qb-qaa{padding-left:20px;font-size:14px;line-height:20px;color:var(--qb-ink2)}
.qb-qaa b{color:var(--qb-ink);font-weight:600}
.qb-qas1{padding-left:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.qb-h .qb-mser{padding:12px 14px;border:1px solid var(--qb-lineh);border-radius:14px}
.qb-h .qb-mser.qb-on{background:var(--qb-ice);border:2px solid var(--qb-cyan);padding:11px 13px}
.qb-h .qb-mser .qb-serh small{color:var(--qb-cyand);letter-spacing:.1em}
.qb-h .qb-mser .qb-badge{background:var(--qb-cyan);color:var(--qb-ink);font-weight:700;min-height:20px}
.qb-h .qb-mser .qb-sern{font-size:16px;line-height:22px}
.qb-h .qb-mser .qb-sert{font-weight:700;font-size:22px;line-height:26px}
.qb-h .qb-mser .qb-seri{margin-top:6px;padding-top:0;border-top:0;font-size:13px;line-height:18px}
.qb-h .qb-mser .qb-ck{color:var(--qb-cyand)}
.qb-h .qb-wcs{margin-top:0;padding-left:20px}
.qb-h .qb-wc{background:var(--qb-ice);border-radius:18px}
.qb-h .qb-wck{color:var(--qb-cyand)}
.qb-h .qb-wch{font-weight:700;font-size:26px;line-height:32px}
.qb-h11{margin:20px -56px -34px;padding:24px 56px 30px;background:var(--qb-cyan);display:flex;justify-content:space-between;align-items:center;gap:20px}
.qb-h11 > div{display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:20px;color:var(--qb-ink)}
.qb-h11 .qb-h2w{color:var(--qb-ink);font-weight:700}
/* a comparacao da Vytex (interruptor compare) */
.qb-cmpw{margin-top:22px}
.qb-tblc td,.qb-tblc .qb-trh td{font-size:13px;line-height:18px}
.qb-tblc .qb-trh td{font-weight:600;border-bottom:1.5px solid var(--qb-ink)}
.qb-tblc .qb-trg td{font-weight:600;color:var(--qb-ink3);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
/* o seletor Design (D1): 3 opcoes com miniatura, alvos de 44 px */
.qb-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qb-pickl{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.qb-picks{display:flex;gap:8px;flex-wrap:wrap}
.qb-pk{display:flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:4px 12px 4px 6px;border:1px solid var(--line);border-radius:10px;background:var(--card,#fff);color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.qb-pk svg{width:30px;height:39px;flex:none;display:block}
.qb-pk[aria-pressed="true"]{border:2px solid var(--accent);padding:3px 11px 3px 5px}
/* o telefone (SPEC 1.5) */
@container qb (max-width:600px){ /* v682: pela largura da FOLHA, nao da tela — a folha do PDF (720 px, fora da tela) nunca pega o layout do telefone, mesmo montada num telefone */
  .qb-pg{padding:24px 16px 20px}
  .qb-pg0{padding:0}
  .qb-in{padding:20px 16px}
  .qb-v1,.qb-v2,.qb-v6,.qb-v14{padding-left:16px;padding-right:16px}
  .qb-h1{font-size:32px;line-height:36px}
  .qb-big,.qb-v1 .qb-big,.qb-h3b .qb-big{font-size:42px;line-height:46px}
  .qb-h2{font-size:28px;line-height:34px}
  .qb-c4g,.qb-pay,.qb-v1g,.qb-h3b,.qb-wcs,.qb-v4g{grid-template-columns:minmax(0,1fr);row-gap:16px}
  .qb-v4d{border-radius:12px 12px 0 0}
  .qb-v4b{border-radius:0 0 12px 12px}
  .qb-steps{grid-template-columns:minmax(0,1fr)}
  .qb-c3s,.qb-gal{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qb-rooms{grid-template-columns:minmax(0,1fr)}
  .qb-sers,.qb-qas1{display:flex;flex-direction:column}
  .qb-ser.qb-on,.qb-mser.qb-on{order:-1}
  .qb-v1w{margin:8px auto 0}
  .qb-tl{grid-template-columns:84px 20px minmax(0,1fr) 84px;column-gap:8px}
  .qb-c9,.qb-v10,.qb-v5,.qb-h5,.qb-v14,.qb-h11{flex-direction:column;align-items:flex-start}
  .qb-c9r{align-items:flex-start;text-align:left}
  .qb-dot{width:120px;height:106px;margin:-24px -16px 0 0}
  .qb-h11{margin:20px -16px -20px;padding:20px 16px}
  .qb-row2{flex-direction:column;align-items:flex-start;gap:4px}
  .qb-note{text-align:left}
  .qb-tbl{font-size:14px}
  .qb-tdx{display:none}
}
/* v681: imprimir a folha dos 3 designs — so ela visivel; as cores de papel (fundos escuros e cianos) saem como na tela; cada pagina da folha numa folha de papel */
@media print{
  body.qt-printing .qb,body.qt-printing .qb *{visibility:visible;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.qt-printing .qb:not([data-qt-printme]),body.qt-printing .qb:not([data-qt-printme]) *{visibility:hidden}
  body.qt-printing .qb{gap:0;max-width:none}
  body.qt-printing .qb-pg{border:0;border-radius:0;box-shadow:none;break-after:page}
  body.qt-printing .qb-pg:last-child{break-after:auto}
}
/* v682: a folha do PDF — o host fora da tela do envio (index.js qtBrochureHtml, classe qb-pdf): Arial (o conversor do Google so tem Arial; o tradutor mede as
   linhas nesta fonte), sem a moldura de pagina; o recheio do lado sai nas margens do papel (0.4in); a faixa escura da Vitrine com o recheio dentro dos filhos (o SVG
   de cada um cobre o tinta inteiro) — o pdf.js qtPdfHtml le esta folha */
.qb-pdf .qb{--qb-d:Arial,Helvetica,sans-serif;--qb-t:Arial,Helvetica,sans-serif;gap:0;max-width:none}
.qb-pdf .qb-pg{border:0;border-radius:0;box-shadow:none;padding:6px 0 12px}
.qb-pdf .qb-pg0{padding:0 0 12px}
.qb-pdf .qb-in{padding:20px 0 0}
.qb-pdf .qb-v1{padding:0}
.qb-pdf .qb-v1t{padding:22px 28px 0}
.qb-pdf .qb-v1g{margin-top:0;padding:22px 28px 26px}
.qb-pdf .qb-v2,.qb-pdf .qb-v6,.qb-pdf .qb-v14{padding-left:28px;padding-right:28px}
.qb-pdf .qb-dot{margin:0}
.qb-pdf .qb-h11{margin:20px 0 0;padding:20px 28px}
.qb-pdf [data-qb-pn]{display:none}
/* a pagina 1 de cada design fecha numa folha Letter (979 px de altura util a 0.4in): no PDF os titulos e os espacos um pouco menores que na tela */
.qb-pdf .qb-h1{font-size:38px;line-height:42px}
.qb-pdf .qb-big{font-size:46px;line-height:50px}
.qb-pdf .qb-v1 .qb-big,.qb-pdf .qb-h3b .qb-big{font-size:50px;line-height:54px}
.qb-pdf .qb-c2{margin-top:22px}
.qb-pdf .qb-c3,.qb-pdf .qb-c4,.qb-pdf .qb-c5,.qb-pdf .qb-h4{margin-top:20px}
.qb-pdf .qb-c4{padding:20px 22px;gap:16px}
.qb-pdf .qb-foot{margin-top:16px}
.qb-pdf .qb-dot{width:120px;height:106px}
.qb-pdf .qb-h .qb-c2{margin-top:0}
.qb-pdf .qb-h3b{margin-top:20px;padding:22px 24px}
.qb-pdf .qb-v1 .qb-h1{font-size:40px;line-height:44px}
.qb-pdf .qb-v1g{grid-template-columns:minmax(0,1fr) 200px}
.qb-pdf .qb-v1w,.qb-pdf .qb-v1f{width:200px;height:271px}
.qb-pdf .qb-v1d{padding:24px 26px}
.qb-pdf .qb-v4,.qb-pdf .qb-v5{margin-top:16px}
.qb-pdf .qb-v1g{padding-bottom:20px}
.qb-pdf .qb-v1 .qb-cap{margin-top:18px}
.qb-pdf .qb-v .qb-in{padding-top:16px}
.qb-pdf .qb-v2{padding-top:12px;padding-bottom:12px}
.qb-pdf .qb-h5{margin-top:14px}
/* v684: a linha do Preview PDF (o estado: montando, pronto, o erro) */
.qt-pdfst{margin:6px 0 0;font-size:13px;color:var(--muted)}
.qt-pdfst.qt-bad{color:var(--danger,#b42318)}
/* v685 (D9): imprimir a folha sem paginas em branco — so o caminho ate a folha (data-qt-printpath, posto pelo index.js qtPrint) fica no layout; o resto do app sai
   (display:none: o visibility:hidden de antes continuava ocupando altura e virava folha em branco no fim); a folha no fluxo, do topo da primeira folha */
@media print{
  body.qt-printing>:not([data-qt-printpath]):not([data-qt-printme]):not(#qt-print-a):not(#qt-print-b),body.qt-printing [data-qt-printpath]>:not([data-qt-printpath]):not([data-qt-printme]):not(#qt-print-a):not(#qt-print-b){display:none!important} /* os :not(#…) so pesam: vencem as regras de impressao do app com #id e !important (a .page, a #errbar) */
  body.qt-printing [data-qt-printpath]:not(#qt-print-a):not(#qt-print-b){display:block!important;position:static!important;inset:auto!important;overflow:visible!important;height:auto!important;min-height:0!important;max-height:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;transform:none!important;filter:none!important;backdrop-filter:none!important;background:#ffffff!important;visibility:visible!important}
  body.qt-printing .qb[data-qt-printme]{position:static!important;left:auto;top:auto;width:100%;margin:0}
}
/* v701 (esboco "mapa e esboco do operador", quadros 9 e 12 — B1, B2, M10, R1): a Brochure. Larga (900 px ou mais, @container qtr) = os ajustes a esquerda, presos
   no alto e rolando sozinhos, com a barra de acoes embaixo deles; a folha do cliente ao vivo a direita (o molde, os textos, o PDF e o portal nao mudam — so o
   LUGAR). Estreita = "Settings | Preview" no alto: ou os ajustes, ou a folha inteira */
.qt-btog{display:flex;width:100%} .qt-btog button{flex:1 1 0}
.qt-bnote{display:block;margin:2px 0 0;font-size:12px;color:#5f6b7d}
.qt-bwins{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:8px 0 0;font-size:13.5px;color:#1d2433}
body .qt-bwins button.qt-redit.qt-redit[data-qt-view]:not(#sheetload){min-height:36px;margin:0;padding:0 6px;border:0;border-radius:8px;background:transparent;color:#2c4a78;font:700 13px/1 Archivo,sans-serif;cursor:pointer}
@media screen{ /* so na tela: a impressao do navegador (qtPrint) usa a folha inteira, nunca a metade escondida (a medicao 155) */
@container qtr (max-width:899px){ .qt-body[data-qt-btab="set"]>.qt-bsheet{display:none} .qt-body[data-qt-btab="pre"]>.qt-bcfg{display:none} }
@container qtr (min-width:900px){
  .qt-btog{display:none}
  .qt-body:has(> .qt-bcfg){display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);column-gap:16px;align-items:start}
  .qt-body:has(> .qt-bcfg)>.qt-bcfg{grid-column:1;grid-row:1;position:sticky;top:73px;max-height:calc(100vh - 160px);overflow:auto;overscroll-behavior:contain}
  .qt-body:has(> .qt-bcfg)>.qt-bbar{grid-column:1;grid-row:2;flex-wrap:wrap}
  .qt-body:has(> .qt-bcfg)>.qt-bsheet{grid-column:2;grid-row:1 / span 2;min-width:0}
}
}
/* v718 — a aba Labor do Install only (esboco "Quote — Install only" A2, A2b, P3–P5, aprovado 23/10): os itens da janela (o icone da aba $, o nome, o sugerido,
   Qty, Each $, o total, ✕ e Apply to all) e o seletor do + Add item (familias + cartoes). Cores fixas, claro em todo tema. O item em 3 linhas que cabem no
   telefone: icone · nome · ✕ / Qty · Each $ · total / Apply to all */
.qt-elabor{display:flex;flex-direction:column;gap:10px}
.qt-lbox{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1.5px solid #d3d9e2;border-radius:13px;background:#fff;color:#1d2433}
.qt-lbox>.qt-lhead{display:flex;align-items:baseline;gap:8px} .qt-lbox>.qt-lhead b{font:700 14px/1.2 Archivo,sans-serif;color:#1d2433} .qt-lbox>.qt-lhead span{font-size:12px;color:#5f6b7d} /* v786: so a do Labor — o mesmo nome e' o titulo da lista Windows, que a v718 punha numa linha so com os nomes das colunas (desalinhados) */
.qt-litems{display:flex;flex-direction:column}
.qt-litem{display:grid;grid-template-columns:40px 64px 104px minmax(0,1fr);grid-template-areas:"ic nm nm x" "ic q u tot" ". all all all";column-gap:8px;row-gap:6px;align-items:center;padding:10px 0;border-top:1px solid #edf0f4}
.qt-litem:first-child{border-top:0}
.qt-lic{grid-area:ic;align-self:start;width:40px;height:40px} .qt-lic svg,.qt-lcic svg{display:block;width:100%;height:100%}
.qt-lnm{grid-area:nm;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0} .qt-lnm b{font:700 14px/1.25 Archivo,sans-serif;color:#1d2433}
.qt-lsug{padding:1px 6px;border-radius:5px;background:#e6f4f1;color:#0b6e62;font:700 10.5px/1.3 Archivo,sans-serif;letter-spacing:.04em}
.qt-lcost{font-size:11.5px;line-height:1.3;color:#5f6b7d}
.qt-lsug[hidden],.qt-lcost[hidden],.qt-lnone[hidden],.qt-lpick[hidden],.qt-lmsg[hidden]{display:none}
.qt-lf{display:flex;flex-direction:column;gap:2px;min-width:0} .qt-lf small{font:600 11px/1.2 Archivo,sans-serif;color:#5f6b7d} .qt-lfq{grid-area:q} .qt-lf:not(.qt-lfq){grid-area:u}
body .qt-edit[data-qt-edit] .qt-lf input.qt-in.qt-in.qt-in:not(#sheetload){width:100%;min-height:44px}
.qt-litot{grid-area:tot;justify-self:end;align-self:end;padding-bottom:10px;font:700 15px/1.2 Archivo,sans-serif;color:#1d2433;font-variant-numeric:tabular-nums}
.qt-lmiss .qt-litot{color:#a12b2b}
.qt-lact{display:contents}
.qt-litem .qt-ogall{grid-area:all;justify-self:start}
body .qt-edit[data-qt-edit] button.qt-lx.qt-lx.qt-lx[type="button"]:not(#sheetload){grid-area:x;justify-self:end;align-self:start;width:44px;height:44px;min-height:0;margin:-6px -8px 0 0;padding:0;border:0;border-radius:22px;background:transparent;color:#5f6b7d;font:700 17px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
.qt-lnone{margin:2px 0;font-size:13px;line-height:1.35;color:#5f6b7d}
body .qt-edit[data-qt-edit] button.qt-ladd.qt-ladd.qt-ladd[type="button"]:not(#sheetload){align-self:flex-start;min-height:44px;margin:0;padding:0 16px;border:1.5px solid #0e9f8e;border-radius:11px;background:#fff;color:#0b6e62;font:700 14px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
.qt-lpick{display:flex;flex-direction:column;gap:10px;padding:12px;border:1.5px solid #d3d9e2;border-radius:13px;background:#f6f7f9}
.qt-lfams{display:flex;flex-wrap:wrap;gap:6px}
body .qt-edit[data-qt-edit] button.qt-lfam.qt-lfam.qt-lfam[type="button"]:not(#sheetload){display:inline-flex;align-items:center;gap:6px;min-height:38px;margin:0;padding:0 11px;border:1px solid #d3d9e2;border-radius:999px;background:#fff;color:#1d2433;font:600 12.5px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-edit[data-qt-edit] button.qt-lfam.qt-lfam.qt-lfam[aria-pressed="true"]:not(#sheetload){border:2px solid #2c4a78;padding:0 10px;background:#eef3fa}
.qt-lfam i{display:inline-block;width:10px;height:10px;border-radius:3px}
.qt-lcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
body .qt-edit[data-qt-edit] button.qt-lcard.qt-lcard.qt-lcard[type="button"]:not(#sheetload){display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:96px;margin:0;padding:9px;border:1px solid #d3d9e2;border-radius:11px;background:#fff;color:#1d2433;text-align:left;cursor:pointer;touch-action:manipulation}
body .qt-edit[data-qt-edit] button.qt-lcard.qt-lcard.qt-lcard.qt-on[type="button"]:not(#sheetload){border:2px solid #0e9f8e;padding:8px}
.qt-lcic{width:34px;height:34px} .qt-lcard b{font:600 12.5px/1.25 Archivo,sans-serif} .qt-lcp{font:700 12.5px/1.2 Archivo,sans-serif;color:#0b6e62;font-variant-numeric:tabular-nums}
.qt-lmsg{margin:0;font-size:13px;line-height:1.35;color:#8a4a06}
@container qte (min-width:600px){ .qt-litem{grid-template-columns:40px minmax(0,1fr) 64px 104px 92px auto 44px;grid-template-areas:"ic nm q u tot all x"} .qt-litem .qt-ogall{justify-self:end;align-self:end;margin-bottom:4px} body .qt-edit[data-qt-edit] button.qt-lx.qt-lx.qt-lx[type="button"]:not(#sheetload){align-self:end;margin:0} } /* o editor largo: o item numa linha so */
/* v719 — os Job items do Install only (esboco A2, A2c, A2e): a secao sob a lista com o "Dumpster on site?", os itens do trabalho (o mesmo item da aba Labor)
   e o seletor; o botao do minimo no trilho. Cores fixas, claro em todo tema; as regras pesadas repetem as do editor para a secao, que mora fora dele */
.qt-jio{container:qtj / inline-size;display:flex;flex-direction:column;gap:10px;margin:2px 0 4px;padding:12px 14px;border:1.5px solid #d3d9e2;border-radius:14px;background:#fff;color:#1d2433}
.qt-jioh{display:flex;align-items:baseline;gap:8px} .qt-jioh b{font:700 16px/1.2 Archivo,sans-serif} .qt-jioh small{font-size:12.5px;color:#5f6b7d} .qt-jsum{margin-left:auto;font:700 15px/1.2 Archivo,sans-serif;font-variant-numeric:tabular-nums}
.qt-jdump{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font:600 13.5px/1.2 Archivo,sans-serif;color:#3d4757}
.qt-jseg{display:inline-flex;gap:2px;padding:3px;border-radius:11px;background:#e6e9ef}
body .qt-jio .qt-jseg button[data-qt-dump][type="button"]:not(#sheetload){min-width:64px;min-height:38px;margin:0;padding:0 14px;border:0;border-radius:9px;background:transparent;color:#3d4757;font:700 13.5px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-jio .qt-jseg button[data-qt-dump][type="button"][aria-pressed="true"]:not(#sheetload){background:#fff;color:#1d2433;box-shadow:0 1px 3px rgba(20,30,50,.18)}
body .qt-jio .qt-lf input.qt-in.qt-in.qt-in:not(#sheetload){width:100%;min-height:44px;margin:0;padding:0 10px;border:1.5px solid #b9c1cd;border-radius:9px;background:#fff;color:#1d2433;font:600 15px/1.2 "Source Sans 3",sans-serif;box-sizing:border-box}
body .qt-jio button.qt-lx.qt-lx.qt-lx[type="button"]:not(#sheetload){grid-area:x;justify-self:end;align-self:start;width:44px;height:44px;min-height:0;margin:-6px -8px 0 0;padding:0;border:0;border-radius:22px;background:transparent;color:#5f6b7d;font:700 17px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-jio button.qt-ladd.qt-ladd.qt-ladd[type="button"]:not(#sheetload){align-self:flex-start;min-height:44px;margin:0;padding:0 16px;border:1.5px solid #0e9f8e;border-radius:11px;background:#fff;color:#0b6e62;font:700 14px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-jio button.qt-lfam.qt-lfam.qt-lfam[type="button"]:not(#sheetload){display:inline-flex;align-items:center;gap:6px;min-height:38px;margin:0;padding:0 11px;border:1px solid #d3d9e2;border-radius:999px;background:#fff;color:#1d2433;font:600 12.5px/1 Archivo,sans-serif;cursor:pointer;touch-action:manipulation}
body .qt-jio button.qt-lfam.qt-lfam.qt-lfam[aria-pressed="true"]:not(#sheetload){border:2px solid #2c4a78;padding:0 10px;background:#eef3fa}
body .qt-jio button.qt-lcard.qt-lcard.qt-lcard[type="button"]:not(#sheetload){display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:96px;margin:0;padding:9px;border:1px solid #d3d9e2;border-radius:11px;background:#fff;color:#1d2433;text-align:left;cursor:pointer;touch-action:manipulation}
body .qt-jio button.qt-lcard.qt-lcard.qt-lcard.qt-on[type="button"]:not(#sheetload){border:2px solid #0e9f8e;padding:8px}
@container qtj (min-width:600px){ .qt-jio .qt-litem{grid-template-columns:40px minmax(0,1fr) 64px 104px 92px 44px;grid-template-areas:"ic nm q u tot x"} body .qt-jio button.qt-lx.qt-lx.qt-lx[type="button"]:not(#sheetload){align-self:end;margin:0} }
body button.qt-minadd.qt-minadd[data-qt-minadd]:not(#sheetload){align-self:flex-start;min-height:40px;margin:6px 0 0;padding:0 14px;border:1.5px dashed #c2410c;border-radius:10px;background:#fff8f1;color:#8a4a06;font:700 13px/1.2 Archivo,sans-serif;text-align:left;cursor:pointer;touch-action:manipulation}
/* v720 (A2d): o que o cliente le, embaixo do nome do Office; laranja quando o item nao esta na tabela aprovada */
.qt-lcli{font-size:12px;line-height:1.3;color:#3d4757} .qt-lcli.qt-nocli{color:#8a4a06;font-weight:600} .qt-lcli[hidden]{display:none}
/* v721 — a conferencia do Install only (esboco quadro 4, A5): o selo, a sequencia depois do Send com a trava P10 e a previa do que o cliente le */
.qt-rvbadge{flex:none;padding:3px 9px;border-radius:6px;background:#1d2433;color:#fff;font:800 11px/1.2 Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.qt-rvbar b+.qt-rvbadge{margin-right:auto} .qt-rvbar b:has(+.qt-rvbadge){margin-right:0}
.qt-rvsteps{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px} .qt-rvsteps li{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:8px;font-size:13px;line-height:1.35;color:#3d4757} .qt-rvsteps b{font:700 12px/1.35 Archivo,sans-serif;color:#2c4a78}
.qt-rvoff{margin:8px 0 0;padding:8px 10px;border-radius:9px;background:#fdf3e7;color:#8a4a06;font-size:12.5px;line-height:1.4} .qt-rvoff[hidden]{display:none}
.qt-rvio{max-width:560px;margin:0 auto;padding:18px 18px 14px;border:1px solid #d3d9e2;border-radius:12px;background:#fff;color:#1d2433;display:flex;flex-direction:column;gap:10px}
.qt-rviok{margin:0 0 2px;font:700 11px/1.2 Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#5f6b7d}
.qt-rviol,.qt-rviojob{display:flex;flex-direction:column;gap:3px;padding-bottom:8px;border-bottom:1px solid #edf0f4}
.qt-rviot,.qt-rvioi,.qt-rviotot{display:flex;justify-content:space-between;gap:12px;margin:0} .qt-rviot{font:700 14px/1.3 Archivo,sans-serif} .qt-rvioi{font-size:13px;line-height:1.35;color:#3d4757;padding-left:10px}
.qt-rvioi b,.qt-rviot b{font-variant-numeric:tabular-nums;white-space:nowrap} .qt-rviotot{font:800 17px/1.3 Archivo,sans-serif;padding-top:4px}
/* v722 — a brochura install-only (o visual Clareza; esboco quadro 5, A4b–A4d): janela por janela com o nome que o cliente le, os itens do trabalho, os dois cartoes da
   garantia, os termos, as perguntas e o "Ready?" */
.qbio-rows{display:flex;flex-direction:column;margin-top:18px}
.qbio-row,.qbio-job{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--qb-line)}
.qbio-job{margin-top:6px;border-top:2px solid var(--qb-ink)}
.qbio-rt,.qbio-it{display:flex;align-items:baseline;gap:12px;margin:0} .qbio-rt{font-size:15px;line-height:21px;color:var(--qb-ink)} .qbio-rt b:first-child,.qbio-it span:first-child{flex:1;min-width:0}
.qbio-rt b{font-weight:600} .qbio-rt b+b,.qbio-it b{font-variant-numeric:tabular-nums;white-space:nowrap}
.qbio-it{padding-left:14px;font-size:14px;line-height:20px;color:var(--qb-ink2)} .qbio-it b{font-weight:500;color:var(--qb-ink)} .qbio-q{color:var(--qb-ink3);white-space:nowrap}
.qbio-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.qbio-card{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:14px;background:var(--qb-soft)} .qbio-card p{margin:0;font-size:14px;line-height:21px;color:var(--qb-ink2)} .qbio-card p.qb-cap{color:var(--qb-ink3)}
.qbio-cv{font:600 26px/30px var(--qb-d);color:var(--qb-ink)}
.qbio-terms{display:flex;flex-direction:column;gap:8px;margin-top:18px} .qbio-terms p{margin:0;font-size:13.5px;line-height:20px;color:var(--qb-ink2)} .qbio-terms b{font-weight:600;color:var(--qb-ink)}
.qbio-faq{margin-top:24px} .qbio-qa{display:flex;flex-direction:column;gap:10px;margin-top:10px} .qbio-notes{margin-top:22px}
.qbio-cta{display:flex;flex-direction:column;gap:4px;margin-top:24px;padding:18px 20px} .qbio-cta b{font:600 18px/24px var(--qb-d);color:var(--qb-ink)} .qbio-cta span{font-size:14px;color:var(--qb-ink2)}
@media (max-width:640px){ .qbio-cards{grid-template-columns:minmax(0,1fr)} }
.qb-io .qb-steps{grid-template-columns:repeat(2,minmax(0,1fr))} /* v722: os 4 passos do Install only em 2 × 2 */
/* v779 (esboco "Descontos na Brochure" P1–P7): a secao Discounts do Settings — P2 em cartoes (como os atalhos de Prices), P3 o jeito, P5 uma chave por desconto */
.qt-dbody,.qt-dshown{display:flex;flex-direction:column;gap:8px}
.qt-dh{margin:4px 0 0;font:700 12px/1.2 Archivo,sans-serif;color:#5f6b7d}
.qt-dpick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
body .qt-dpick button[data-qt-place]:not(#sheetload){display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:56px;margin:0;padding:8px 10px;border:1.5px solid #c9d0db;border-radius:10px;background:#fff;color:#1d2433;text-align:left;cursor:pointer;touch-action:manipulation}
body .qt-dpick button[data-qt-place] b{font:700 13px/1.2 Archivo,sans-serif}
body .qt-dpick button[data-qt-place] small{font:12px/1.3 "Source Sans 3",sans-serif;color:#5f6b7d}
body .qt-dpick button[data-qt-place][aria-pressed="true"]:not(#sheetload){border-color:#2c4a78;background:#eef3fa;box-shadow:inset 0 0 0 1px #2c4a78}
body .qt-dpick button[data-qt-place]:disabled:not(#sheetload){opacity:.45;cursor:default}
.qt-dfmt button:disabled{opacity:.45}
.qt-dfmt s{opacity:.7}
.qt-dlist{display:flex;flex-direction:column;gap:6px}
body .qt-bcfg button.qt-tsw.qt-tsw.qt-drow[role="switch"]:not(#sheetload){justify-content:flex-start;gap:10px;min-height:44px;padding:6px 14px;border-radius:12px;text-align:left}
.qt-drow .qt-drw{display:flex;flex-direction:column;align-items:flex-start;min-width:0;flex:1 1 auto;text-align:left}
.qt-drow .qt-drw small{font-weight:400;color:#5f6b7d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qt-drow em{font-style:normal;font-weight:700;color:#1a6b3c;font-variant-numeric:tabular-nums;white-space:nowrap}
.qt-drow[aria-checked="false"] em{color:#7b8494;text-decoration:line-through}
.qt-tsw.qt-drow[aria-checked="true"]>span::before{content:none}
@media (max-width:640px){ .qt-dpick{grid-template-columns:minmax(0,1fr)} }
/* o que o cliente le: o antes riscado (P3) e o You save (P6) */
.qt-was{margin-right:2px;font-weight:400;opacity:.65}
.qt-prow.qt-pband{margin-top:6px;padding:8px 10px;border-radius:8px;background:#1a6b3c;color:#fff;font-weight:700;font-style:normal}
.qt-prow.qt-pband b{color:#fff}
/* v780 (esboco "Desconto em destaque" V1–V3): o selo verde em cada janela, a faixa verde do fim e o You save na caixa do total — nos 3 designs (app e PDF) */
.qb-savechip{display:inline-flex;align-self:flex-start;margin-top:4px;padding:4px 9px;border-radius:999px;background:#e3f2e8;color:#1a6b3c;font:700 12.5px/1.2 var(--qb-d);white-space:nowrap}
.qb-savewhy{display:block;margin-top:2px;font-size:12.5px;line-height:16px;color:#1a6b3c}
.qb-trnote td{vertical-align:middle}
.qb-trnote td:last-child{text-align:right}
.qb-trnote td:nth-child(2){color:#1a6b3c}
.qb-rlsave{flex-basis:100%;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.qb-rlsave .qb-savechip{margin-top:0}
.qb-rlsave .qb-savewhy{margin-top:0}
.qb-disc.qb-band{margin-top:10px;padding:12px 16px;border:0;border-radius:12px;background:#1a6b3c;color:#fff;font:700 16px/22px var(--qb-d)}
.qb-disc.qb-band b{font-size:22px;line-height:26px;color:#fff;white-space:nowrap}
.qb-trband td{padding-top:12px;padding-bottom:12px;background:#1a6b3c;color:#fff;font-weight:700;font-size:16px}
.qb-trband td.qb-tdp{font-size:20px}
.qb-prew{display:inline-flex;flex-direction:column;align-items:flex-end}
.qb .qb-saved{display:block;margin-top:4px;font:700 15px/20px var(--qb-d);color:#1a6b3c;white-space:nowrap}
.qb .qb-ink .qb-saved{color:#8fe0ae}
/* v781 (bateria do lote, medicao 152): no PDF o conversor so aceita texto claro dentro de SVG (o fundo pode cair) — a faixa vira verde-claro com texto verde-escuro */
.qb-pdf .qb-trband td{background:#e3f2e8;color:#1a6b3c}
.qb-pdf .qb-disc.qb-band{background:#e3f2e8;color:#1a6b3c}
.qb-pdf .qb-disc.qb-band b{color:#1a6b3c}
/* v781 (esboco L1–L3): na lista da Estimate, a coluna do preco empilha o riscado, o preco e o selo do desconto (so o vendedor ve) */
.qt-lr-pc{grid-area:p;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;min-width:0}
.qt-lr-was{font:500 11.5px/1.2 Archivo,sans-serif;color:#8a93a0;font-variant-numeric:tabular-nums;white-space:nowrap}
.qt-lr-d{display:flex;flex-direction:column;align-items:flex-end;margin-top:3px;padding:2px 7px;border-radius:999px;background:#e3f2e8;color:#1a6b3c;font:700 11.5px/1.3 Archivo,sans-serif;font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}
.qt-lr-d small{font:600 10.5px/1.2 "Source Sans 3",sans-serif}
.qt-lr-d.qt-lr-dhid{border-radius:8px;background:#eef0f3;color:#5f6b7d}
.qt-lr-d[hidden]{display:none}
/* v805 (contraste dos temas, T3 + T4 na Quote; esboco aprovado 04/11 "Aprovo, D1-D3 em a"): nos 4 escuros o Job setup (as pilulas e a folha), a faixa de numeros, a lista (as linhas,
   o titulo, o Select, o total), os chips do filtro, o + Add window / Quick add e o trilho Close the sale deixam de ser ilhas brancas (texto do tema sumia: 1,1:1 no
   HUD e no Holo). Cada cor fixa das regras dessas partes ganha a cor do tema do mesmo papel (#fff -> --panel, #f4f6f9 -> --soft, #d3d9e2 -> --line, #1d2433 -> --ink,
   #5f6b7d -> --ink2, #8a93a0 -> --muted, #2c4a78 -> --accent, verde/vermelho/ambar -> --good/--bad/--warn); o botao cheio azul fica no acento com o texto do
   acento (D1 a). A brochura, a folha do cliente, o Quick add e o painel da linha nao mudam (folhas de papel). Nos claros nada muda. */
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-pills button.qt-pill.qt-pill[data-qt-setopen]:not(#sheetload){border:1px solid var(--line);background:var(--panel);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-pill b{color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-setup{background:var(--panel);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-sin::before{background:var(--line)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-setup button.qt-sdone.qt-sdone[data-qt-setx]:not(#sheetload){color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-sgh{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup button.qt-ser.qt-ser[data-qt-ser]:not(#sheetload),body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup button.qt-ser.qt-ser[data-qt-kind]:not(#sheetload){border:1px solid var(--line);background:var(--panel);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup button.qt-ser.qt-ser[data-qt-ser][aria-pressed="true"]:not(#sheetload),body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup button.qt-ser.qt-ser[data-qt-kind][aria-pressed="true"]:not(#sheetload){border:2px solid var(--accent);background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kinds .qt-ser small{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kinds .qt-ser[aria-pressed="true"] small{color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-ser small{color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-ser span{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-ser[aria-pressed="true"] span{color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup button.qt-gcard.qt-gcard[data-qt-gl]:not(#sheetload){border:1px solid var(--line);background:var(--panel);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup button.qt-gcard.qt-gcard[data-qt-gl][aria-pressed="true"]:not(#sheetload){border:2px solid var(--accent);background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup .qt-gcard small{color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup .qt-gcard span{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup .qt-gcard[aria-pressed="true"] span{color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup .qt-gnote{color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-cfgf{border:1px solid var(--line);background:var(--panel);color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-setup .qt-cfgf input{color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-cfgh{color:var(--muted)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-setup:modal .qt-kinds .qt-ser span{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-setup:modal .qt-ser[aria-pressed="true"]::before{border:7px solid var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-pill em{color:var(--ink2)}
@container qtk (min-width:560px){
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kpi{border:1px solid var(--line);background:var(--line)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kt{background:var(--panel);color:var(--ink)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kt small{color:var(--ink2)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kt i{color:var(--ink2)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kt.qt-kt-dis b,body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kt.qt-kt-dis i{color:var(--good)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kt.qt-kt-tot{background:var(--accent);color:var(--on-acc)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kt.qt-kt-cost{background:var(--soft)}
}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-in{background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lht{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lines{border-top:1px solid var(--line)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw{background:var(--panel);border-bottom:1px solid var(--line)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw.qt-open{background:var(--acc2);box-shadow:inset 3px 0 0 var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr{color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr-n{color:var(--muted)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr-m{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr-q{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr.qt-off .qt-lr-t{color:var(--muted)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr.qt-off .qt-lr-p{color:var(--muted)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr.qt-miss .qt-lr-p{color:var(--bad)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw[data-qt-lrow] button.qt-lon.qt-lon[data-qt-lon]:not(#sheetload){color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw[data-qt-lrow] button.qt-lon.qt-lon[data-qt-lon][aria-pressed="false"]:not(#sheetload){color:var(--muted)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lsw::after{background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw[data-qt-lrow] button.qt-lrm.qt-lrm[data-qt-lrm]:not(#sheetload){color:var(--muted)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw[data-qt-lrow] button.qt-lrm.qt-lrm[data-qt-lrm]:not(#sheetload):is(:hover,body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) :focus-visible,body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) :active){color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,var(--panel))}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw.qt-rmon{background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lht button.qt-lsel.qt-lsel[data-qt-lsel]:not(#sheetload){border:1.5px solid var(--muted);background:var(--panel);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lht button.qt-lsel.qt-lsel[data-qt-lsel][aria-pressed="true"]:not(#sheetload){border-color:var(--accent);background:var(--accent);color:var(--on-acc)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-selon .qt-lr-n::before{border:2px solid var(--muted);background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-selon .qt-sel .qt-lr-n::before{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-selon .qt-lrw.qt-sel{background:var(--acc2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-selbar{border:1.5px solid var(--bad);background:var(--panel);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-selbar[data-qt-selbar] button.qt-selrm.qt-selrm[data-qt-selrm]:not(#sheetload){border:1.5px solid var(--bad)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw[data-qt-lrow] button.qt-l3d.qt-l3d.qt-l3d[type="button"]:not(#sheetload){color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-l3d:focus-visible{outline:2px solid var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lrw .qt-l3d .qt-l3db{border:1px solid var(--accent);background:var(--panel);color:var(--accent)}
@container qtl (min-width:600px){
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lcols{color:var(--ink2)}
}
@container qtl (min-width:780px){
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr-pc>.qt-lr-was.qt-lr-same[hidden]{color:var(--ink2)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lr-pc:not(:has(>.qt-lr-d:not([hidden])))::before{color:var(--muted)}
}
@container qtl (min-width:600px){
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-lsum{background:var(--soft);border-bottom:1px solid var(--line);color:var(--ink)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-ls-l{color:var(--ink)}
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-ls-d{color:var(--good)}
}
@container qtl (min-width:780px){
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-ls-w{color:var(--ink2)}
}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-filts button.qt-fchip.qt-fchip[data-qt-filt]:not(#sheetload){border:1px solid var(--line);background:var(--panel);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-filts button.qt-fchip.qt-fchip[data-qt-filt][aria-pressed="true"]:not(#sheetload){border-color:var(--accent);background:var(--acc2);color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-fchip.qt-fwarn b{color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-fchip:focus-visible{outline:2px solid var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-chk button.qt-fshow.qt-fshow[data-qt-fshow]:not(#sheetload){border:1px solid var(--warn);background:var(--panel);color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-addrow>button.qt-addw.qt-addw.qt-addw[class][type="button"]:not(#sheetload){border:2px dashed var(--muted);background:var(--panel);color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-addw b{background:var(--accent);color:var(--on-acc)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-addw small{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-flag{background:var(--soft)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-flag-warn{background:color-mix(in srgb,var(--warn) 14%,var(--panel));color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-col{background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-item{border-bottom:1px solid var(--line)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-xdel{background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-add{background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-unit{background:var(--panel)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-tot{background:var(--soft)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-minus{color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-rail{background:var(--panel);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-rail:modal .qt-rin::before{background:var(--line)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rhead{border-bottom:1px solid var(--line)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rh small{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-rail button.qt-sdone.qt-sdone[data-qt-railx]:not(#sheetload){color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rsec{border-bottom:1px solid var(--line)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rail .qt-trow{color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rail .qt-trow b{color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rail .qt-disc>small{color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rail .qt-grand{color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-chk{color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-chk[data-kind="ok"]{color:var(--good)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rgt small{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-rail button.qt-redit.qt-redit[data-qt-view]:not(#sheetload){color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-rail button.qt-sendb.qt-sendb[data-qt-send]:not(#sheetload){background:var(--accent);color:var(--on-acc)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-rail .qt-sent button.qt-sendb.qt-sendb[data-qt-send]:not(#sheetload){border:1px solid var(--line);background:var(--panel);color:var(--accent)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-sendsub{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) div.qt-sendst{color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-sent div.qt-sendst{border:1px solid var(--line);background:var(--soft)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-send-ok .qt-sp:not([data-warn])::before{color:var(--good)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-sp[data-warn]{color:var(--warn)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-send-bad .qt-sp[data-warn]{color:var(--bad)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rbar{background:var(--panel);border-top:1px solid var(--line);color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rbar button.qt-rbt.qt-rbt[data-qt-railopen]:not(#sheetload){color:var(--ink)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rbt small{color:var(--ink2)}
body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-rbar button.qt-rbgo.qt-rbgo[data-qt-rbgo]:not(#sheetload){background:var(--accent);color:var(--on-acc)}
@container qtr (min-width:780px){
  body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) dialog.qt-rail{border:1px solid var(--line)}
}

body:is([data-theme="dark"],[data-theme="hud"],[data-theme="holo"],[data-theme="sketchdark"]) .qt-kt.qt-kt-tot :is(small,i,b){color:var(--on-acc)}
