/* tools/photo-measure/photo-measure.css — o Photo Measure (v588). Escuro como o editor de foto marcada (a foto manda); no telefone a foto em cima
   e o painel embaixo (no maximo 46% da altura, rola por dentro); no PC (>= 900 px) o painel a direita, 380 px. Toques de 44 px; nada rola de lado.
   O zoom e o tamanho do palco vem por variaveis CSS no .pz-wrap (--pz-bw, --pz-bh, --pz-x, --pz-y, --pz-zoom): nada de style= no HTML.
   v588 (visto no preview): por cima de tudo do app — a barra de abas (#mtabs 1800), o MZ (1900), o rascunho (2000), a sessao vencida (2001) —; so o toast (2100)
   fica por cima. E o [hidden] vale mesmo onde a regra da display:flex. */
.pz-editor [hidden],.pz-modal [hidden]{display:none!important}
.pz-editor{position:fixed;inset:0;z-index:2050;background:#0f1218;color:#eef1f5;display:flex;flex-direction:column;font-family:Archivo,'Source Sans 3',sans-serif;user-select:none;-webkit-user-select:none}
.pz-bar{display:flex;align-items:center;gap:8px;min-height:52px;padding:4px 8px 4px 12px;border-bottom:1px solid #263040;flex:none;flex-wrap:wrap}
.pz-title{font-size:15px;white-space:nowrap}
.pz-steps{display:flex;border:1px solid #3a4658;border-radius:10px;overflow:hidden}
.pz-steps button{min-height:38px;padding:0 12px;border:0;background:transparent;color:#cfd6e0;font:600 13px/1 Archivo,sans-serif;cursor:pointer}
.pz-steps button[aria-pressed=true]{background:#e8890c;color:#111}
.pz-esp{flex:1}
.pz-icon{min-width:40px;min-height:40px;border:1px solid #3a4658;border-radius:10px;background:#18202c;color:#eef1f5;font:700 17px/1 Archivo,sans-serif;cursor:pointer}
.pz-icon[disabled]{opacity:.4;cursor:default}
.pz-done{min-height:40px;padding:0 16px;border:0;border-radius:10px;background:#2f7de1;color:#fff;font:700 14px/1 Archivo,sans-serif;cursor:pointer}
.pz-body{flex:1;min-height:0;display:flex;flex-direction:column}
.pz-stage{flex:1;min-height:180px;position:relative;overflow:hidden;background:#000;touch-action:none;-webkit-touch-callout:none}
.pz-wrap{position:absolute;left:0;top:0;width:var(--pz-bw,100px);height:var(--pz-bh,100px);transform:translate(var(--pz-x,0px),var(--pz-y,0px)) scale(var(--pz-zoom,1));transform-origin:0 0}
.pz-img{display:block;width:100%;height:100%;pointer-events:none}
.pz-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pz-loupe{position:absolute;top:var(--pz-ly,10px);left:var(--pz-lx,10px);width:168px;height:168px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 18px rgba(0,0,0,.55);pointer-events:none;background:#000}
/* v634: a LEGENDA DA LUPA — o que o ponto arrastado le (o ima em verde; ambar = fora do prumo, do nivel, do siding ou do paralelo) */
.pz-lcap{position:absolute;left:var(--pz-cx,8px);top:var(--pz-cy,8px);width:max-content;max-width:min(300px,calc(100% - 16px));padding:5px 9px;border-radius:9px;background:rgba(15,18,24,.9);color:#fff;font:600 12px/1.4 Archivo,sans-serif;pointer-events:none;box-shadow:0 3px 12px rgba(0,0,0,.45)}
.pz-lcap p{margin:0}
.pz-lcap [data-pz-lc="snap"]{color:#7ee081;font-weight:800}
.pz-lcap .pz-lbad{color:#ffc46b}
.pz-hint{position:absolute;left:8px;top:8px;margin:0;max-width:calc(100% - 72px);padding:6px 10px;border-radius:9px;background:rgba(15,18,24,.82);color:#fff;font-size:12.5px;line-height:1.3;pointer-events:none}
.pz-zoom{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:6px}
.pz-zoom .pz-icon{background:rgba(24,32,44,.86)}
.pz-panel{flex:none;max-height:46vh;overflow-y:auto;overflow-x:hidden;background:#141a23;border-top:1px solid #263040;padding:10px 12px 16px;-webkit-overflow-scrolling:touch}
.pz-sec{display:flex;flex-direction:column;gap:10px}
.pz-say{margin:0;font:400 13.5px/1.4 'Source Sans 3',sans-serif;color:#cfd6e0}
.pz-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pz-fields label,.pz-line{display:flex;flex-direction:column;gap:4px;font:600 12px/1.2 Archivo,sans-serif;color:#9fb0c4}
.pz-fields input,.pz-line select{min-height:44px;border:1.5px solid #3a4658;border-radius:10px;background:#0f1218;color:#fff;font:700 16px/1 Archivo,sans-serif;padding:0 10px;width:100%;box-sizing:border-box}
.pz-fields input:focus,.pz-line select:focus{outline:none;border-color:#e8890c}
.pz-chip{margin:0;padding:8px 10px;border-radius:10px;font:600 13px/1.35 'Source Sans 3',sans-serif;background:#1d2633;color:#eef1f5;border:1px solid #3a4658}
.pz-chip.pz-ok{border-color:#3fae6a;color:#bff0cf}
.pz-chip.pz-bad{border-color:#e0a03a;background:#33270f;color:#ffd99a}
.pz-chip.pz-soft{color:#b8c3d2;font-weight:400}
.pz-next,.pz-attach{min-height:46px;border:0;border-radius:12px;background:#e8890c;color:#111;font:700 15px/1 Archivo,sans-serif;cursor:pointer}
.pz-attach{background:#2f7de1;color:#fff}
.pz-next[disabled]{opacity:.45;cursor:default}
.pz-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pz-add{min-height:46px;border:1.5px solid #0bb5c9;border-radius:12px;background:#0f1218;color:#7fe6f2;font:700 15px/1 Archivo,sans-serif;cursor:pointer}
.pz-add[data-pz-addgrp]{border-color:#9b7cf0;color:#cbb9ff}
.pz-add[disabled]{opacity:.4;cursor:default}
/* v605: o passo 2 (Walls) — a lista das faces da linha do plano, cada uma com a cor dela na borda (a da caixa laranja, laranja); Remove dot e Start over em rosa */
.pz-fc0{--pz-fcol:#e05db0}.pz-fc1{--pz-fcol:#5b8def}.pz-fc2{--pz-fcol:#e3b52b}.pz-fc3{--pz-fcol:#3cc6a0}
.pz-wlist{display:flex;flex-direction:column;gap:6px}
.pz-wrow{margin:0;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:7px 10px;border-radius:10px;border:1px solid #2a3443;border-left:5px solid var(--pz-fcol,#e05db0);background:#10161f;color:#eef1f5;font:700 13px/1.25 Archivo,sans-serif}
.pz-wrow span{font:400 13px/1.25 'Source Sans 3',sans-serif;color:#b8c3d2}
.pz-wrow.pz-main{--pz-fcol:#e8890c}
.pz-wrow.pz-bad span{color:#ffd99a}
.pz-add.pz-padd{border-color:#ff5fa2;color:#ffc2dc}
/* v618: o DEGRAU (a quina escondida) — o botao liga/desliga no ponto escolhido; os angulos do lado escondido ao lado (so desenham a planta); a linha do lado escondido na lista, cinza tracejada */
.pz-hidrow{display:flex;gap:8px;align-items:stretch}
.pz-hidrow .pz-phid{flex:1}
.pz-add.pz-phid[aria-pressed="true"]{background:#ff5fa2;color:#111111}
.pz-hang{display:flex;border:1px solid #3a4658;border-radius:12px;overflow:hidden}
.pz-hang[hidden]{display:none}
/* v641: qual lente tirou a foto, quando o arquivo nao diz — o mesmo segmentado do lado escondido (.pz-hang) */
.pz-lpick{display:flex;flex-direction:column;gap:6px}
.pz-lpick[hidden]{display:none}
.pz-lpick small{display:block;font:600 12.5px/1.3 'Source Sans 3',sans-serif;color:#9fb0c4}
.pz-lpbtns{display:flex;border:1px solid #3a4658;border-radius:12px;overflow:hidden}
.pz-lpbtns button{flex:1;min-height:38px;border:0;background:#1d2633;color:#cfd6e0;font:700 13px/1 Archivo,sans-serif;cursor:pointer}
.pz-lpbtns button+button{border-left:1px solid #3a4658}
.pz-lpbtns button[aria-pressed="true"]{background:#eef1f5;color:#111111}
/* v645: a lente em mm (para testar valores do meio) e o que o arquivo, o siding e a fiada dizem */
.pz-lpbtns input{width:56px;min-height:38px;border:0;border-left:1px solid #3a4658;background:#121821;color:#eef1f5;font:700 13px/1 Archivo,sans-serif;text-align:center}
.pz-lpbtns input[aria-pressed="true"]{background:#eef1f5;color:#111111}
.pz-lpbtns input:focus{outline:2px solid #2f7de1;outline-offset:-2px}
.pz-lpref:empty{display:none}
/* v646: a profundidade medida na janelinha da parede (a planta) — a linha inteira, para nao confundir com o teste de profundidade */
.pz-tefields .pz-temed{grid-column:1 / -1}
.pz-temednote{display:block;font:400 12px/1.3 'Source Sans 3',sans-serif;color:#9fb0c4;margin-top:4px}
.pz-hang button{min-width:46px;border:0;background:#1d2633;color:#cfd6e0;font:700 13px/1 Archivo,sans-serif;cursor:pointer}
.pz-hang button[aria-pressed="true"]{background:#eef1f5;color:#111111}
.pz-wrow.pz-hid{--pz-fcol:#8a93a3;border-left-style:dotted}
/* v620: A PLANTA do passo 2 — a vista de cima (as faces na cor delas, o lado escondido tracejado, a quina de tras vazada, os pontos rosa, os raios ate a camera) */
.pz-planta{border:1px solid #2a3443;border-radius:12px;background:#0b1017;padding:4px 8px 8px}
.pz-planta[hidden]{display:none}
.pz-tsvg{display:block;width:100%;height:auto;touch-action:none;cursor:grab}
/* v631: a planta amplia e anda (o ⤢ volta a caber) e, no PC, cresce com o mouse parado em cima (o mesmo quadro que cresce do mapa, v630) */
.pz-tview{position:relative}
.pz-tfit{position:absolute;right:2px;top:2px;min-width:36px;min-height:36px;border:1px solid #3a4658;border-radius:9px;background:rgba(24,32,44,.9);color:#eef1f5;font:700 16px/1 Archivo,sans-serif;cursor:pointer}
.pz-tview.pz-big{position:fixed;left:var(--pz-gx);top:var(--pz-gy);width:var(--pz-gw);height:var(--pz-gh);z-index:5;background:#0b1017;border-radius:12px;box-shadow:0 14px 44px rgba(0,0,0,.6);outline:2px solid #3a4658;transform-origin:100% 0;animation:pz-grow .14s ease-out}
.pz-tview.pz-big .pz-tsvg{height:100%}
/* v632: o teste de uma parede — o traco escolhido (fundo branco), o traco largo invisivel do toque e os 3 campos embaixo da planta */
.pz-tselbg{stroke:#ffffff;stroke-width:10;stroke-linecap:round;opacity:.9}
.pz-thit{stroke:transparent;stroke-width:16;stroke-linecap:round;cursor:pointer}
.pz-tedit{margin:6px 0 4px;padding:8px 10px;border:1px solid #3a4658;border-radius:10px;background:#141a23;display:flex;flex-direction:column;gap:6px}
.pz-tehead{display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 14px/1.2 Archivo,sans-serif;color:#eef1f5}
.pz-teclose{min-width:36px;min-height:36px;border:1px solid #3a4658;border-radius:9px;background:#1d2633;color:#eef1f5;font:700 18px/1 Archivo,sans-serif;cursor:pointer}
.pz-tefields{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pz-tefields label{display:flex;flex-direction:column;gap:3px;font:600 11.5px/1.2 Archivo,sans-serif;color:#9fb0c4}
.pz-tefields input{min-height:40px;width:100%;box-sizing:border-box;padding:0 8px;border:1px solid #3a4658;border-radius:8px;background:#0f1218;color:#eef1f5;font:600 15px/1 Archivo,sans-serif}
.pz-tefields input:disabled{opacity:.4}
.pz-tenote{margin:0;font:400 12px/1.35 'Source Sans 3',sans-serif;color:#9fb0c4}
.pz-tback{align-self:flex-start;min-height:36px;margin:4px 0;padding:0 12px;border:1px solid #e8890c;border-radius:9px;background:transparent;color:#ffcf8a;font:600 13px/1 Archivo,sans-serif;cursor:pointer}
.pz-planta small{display:block;font:400 12px/1.3 'Source Sans 3',sans-serif;color:#9aa6b6}
.pz-traio{stroke:#6c7787;stroke-width:1;stroke-dasharray:3 3}
.pz-tcam rect{fill:#1d2633;stroke:#cfd6e0;stroke-width:1.2}.pz-tcam circle{fill:none;stroke:#cfd6e0;stroke-width:1.2}
.pz-tface{stroke-width:4;stroke-linecap:round}
.pz-tface.pz-thid{stroke-width:2;stroke-dasharray:4 3}
.pz-tface.pz-tbad{stroke:#e0a03a}
.pz-tquina{fill:#0b1017;stroke:#cfd6e0;stroke-width:1.5}
.pz-tlbl,.pz-tdeg{font:800 11px/1 Archivo,sans-serif}
.pz-tdeg{fill:#cfd6e0}.pz-tdeg.pz-tbad{fill:#ffd99a}
.pz-tdot{fill:#ff5fa2;stroke:#ffffff;stroke-width:1.5}
.pz-tdot.pz-tpick{fill:#ffffff;stroke:#ff5fa2;stroke-width:2}
[data-pz-tdot]{cursor:pointer}
/* v621: arrastando na planta — o raio da camera por onde o ponto anda e o angulo em que ele grudou */
.pz-trail{stroke:#ffffff;stroke-width:1.2;stroke-dasharray:5 3;opacity:.8}
.pz-tsnap{font:800 12px/1 Archivo,sans-serif;fill:#7ee081}
.pz-sel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border-radius:12px;background:#1d2633;border:1px solid #3a4658}
.pz-sel b{font-size:15px;flex:1;min-width:80px}
.pz-sel button{min-height:40px;border:1px solid #3a4658;border-radius:10px;background:#0f1218;color:#eef1f5;font:600 13px/1 Archivo,sans-serif;padding:0 10px;cursor:pointer}
.pz-sel .pz-del{color:#ffb3a8;border-color:#7a3a33}
/* v597: o ✓ Confirm (o do Photo check antigo): verde vazado; confirmada = verde cheio */
.pz-sel .pz-okbtn{order:9;flex-basis:100%;color:#a6f0c3;border-color:#2f6b47} /* a linha inteira, embaixo: o nome, Qual janela? e Apagar ficam na de cima */
.pz-sel .pz-okbtn[aria-pressed=true]{background:#1a6b3c;border-color:#3fae6a;color:#fff}
.pz-units{display:flex;align-items:center;gap:6px;font:700 14px/1 Archivo,sans-serif}
.pz-rows{display:flex;flex-direction:column;gap:6px}
.pz-row{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;text-align:left;padding:9px 10px;border-radius:12px;border:1px solid #2a3443;background:#10161f;color:#eef1f5;cursor:pointer;font-family:'Source Sans 3',sans-serif}
.pz-row[aria-pressed=true]{border-color:#0bb5c9;background:#0f2228}
.pz-row.pz-grp{border-style:dashed;border-color:#5b4a99}
.pz-rlabel{font:800 15px/1.2 Archivo,sans-serif;grid-row:span 2}
.pz-rsheet{font-size:12.5px;color:#9fb0c4}
.pz-rphoto{font-size:13.5px;font-weight:600}
.pz-rverdict{grid-column:2;display:flex;flex-wrap:wrap;gap:4px}
.pz-rwarn{grid-column:2;font-size:12px;color:#ffd99a}
.pz-v{font:800 11px/1 Archivo,sans-serif;letter-spacing:.04em;padding:4px 7px;border-radius:6px;text-transform:uppercase}
.pz-v.pz-ok{background:#163a26;color:#a6f0c3}
.pz-v.pz-off{background:#4a2d0a;color:#ffc46b;box-shadow:inset 0 0 0 1.5px #e8890c}
.pz-v.pz-cant{background:#222b38;color:#b8c3d2}
.pz-twins{display:flex;flex-direction:column;gap:6px;padding-top:4px}
.pz-twins small{font:700 11px/1 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#9fb0c4}
.pz-twin{margin:0;font-size:13px;color:#cfd6e0;display:flex;gap:8px;flex-wrap:wrap}
.pz-foot{margin:6px 0 0;font-size:12px;color:#8090a4}
.pz-drop{margin-top:14px;min-height:40px;width:100%;border:1px solid #4a3236;border-radius:10px;background:transparent;color:#ffb3a8;font:600 13px/1 Archivo,sans-serif;cursor:pointer}
/* a escolha da janela e a porta (por cima do editor) */
.pz-modal{position:fixed;inset:0;z-index:2060;background:rgba(5,8,12,.6);display:flex;align-items:flex-end;justify-content:center}
.pz-pbox{width:100%;max-width:520px;max-height:82vh;overflow-y:auto;background:#141a23;color:#eef1f5;border-radius:16px 16px 0 0;padding:14px 14px 18px;display:flex;flex-direction:column;gap:10px;box-sizing:border-box;font-family:Archivo,sans-serif}
.pz-pbox > b{font-size:17px}
/* v623: a JANELINHA DA FICHA (o lapis) — pequena, no meio da tela; o lapis na foto e' desenhado no SVG */
.pz-modal.pz-smodal{align-items:center;padding:16px;box-sizing:border-box}
.pz-pbox.pz-sbox{max-width:340px;border-radius:16px}
.pz-sbox .pz-say{margin:0}
.pz-ssub{color:#9fb0c4;font-size:13px}
.pz-serr{margin:0;color:#ffd99a;font:600 13px/1.3 'Source Sans 3',sans-serif}
.pz-serr[hidden],.pz-sbox .pz-say[hidden]{display:none}
.pz-sacts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pz-ssave{min-height:46px;border:0;border-radius:12px;background:#e8890c;color:#111111;font:800 15px/1 Archivo,sans-serif;cursor:pointer}
[data-pz-pen]{cursor:pointer}
.pz-plist{display:flex;flex-direction:column;gap:6px}
.pz-pitem{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:52px;padding:9px 12px;border-radius:12px;border:1px solid #2a3443;background:#10161f;color:#eef1f5;text-align:left;cursor:pointer;font-family:Archivo,sans-serif}
.pz-pitem b{font-size:15px}
.pz-pitem small{font:400 12.5px/1.3 'Source Sans 3',sans-serif;color:#9fb0c4}
.pz-pitem.pz-next1{border-color:#e8890c}
.pz-pitem.pz-used{opacity:.6}
/* v590: o mapa da casa na escolha da janela (o desenho do mapa e' para fundo claro), a lista embaixo */
.pz-pmap{display:flex;flex-direction:column;gap:6px}
.pz-pmapbar{display:flex;align-items:center;gap:8px}
.pz-pmapbar small{flex:1;font:600 13px/1.3 'Source Sans 3',sans-serif;color:#cfd6e0}
/* v617: a aba Map | 2D (o mapa girado para a parede em foco, ou a elevacao dela) */
.pz-pmapmode{display:inline-flex;border:1px solid #3a4658;border-radius:10px;overflow:hidden;flex:none}
.pz-pmapmode button{min-height:36px;min-width:44px;padding:0 10px;border:0;background:#1d2633;color:#cfd6e0;font:700 13px/1 Archivo,sans-serif;cursor:pointer}
.pz-pmapmode button[aria-pressed="true"]{background:#eef1f5;color:#111111}
.pz-pmapall{min-height:36px;padding:0 12px;border:1px solid #3a4658;border-radius:10px;background:#1d2633;color:#eef1f5;font:600 13px/1 Archivo,sans-serif;cursor:pointer}
.pz-pmapview{height:var(--pz-maph,42vh);min-height:150px;max-height:420px;border-radius:12px;background:#f4f6f9;overflow:hidden;touch-action:none;cursor:grab}
.pz-pmapview svg{display:block;width:100%;height:100%}
.pz-pmapkey{font:400 12px/1.4 'Source Sans 3',sans-serif;color:#9fb0c4}
.pz-k{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin:0 4px 0 6px}
.pz-k-used{background:#84b0f4;border:2px solid #4f86e0} /* v628: a janela tingida (sem quadro) */
.pz-k-next{background:rgba(224,122,0,.3);border:2px solid #e07a00}
.pz-k-sel{background:rgba(11,181,201,.35);border:2px solid #0b8fa0}
.pz-mu-ring{fill:none;stroke:none;stroke-width:3px}
/* v628 (Rafael 17/10: "essa borda azul sinalizando as janelas ja na photo nao ficou legal, too much overlapping. deixar so a janela azul mais escuro ja basta"):
   a ja nesta foto nao tem quadro — a propria janela fica azul (a tinta por cima, multiplicada: o vidro claro escurece, as linhas continuam) */
.pz-mu-tint{fill:none;pointer-events:none}
.pz-mu-used .pz-mu-tint{fill:#1f6feb;fill-opacity:.55;mix-blend-mode:multiply}
.pz-mu-next .pz-mu-ring{fill:rgba(224,122,0,.22);stroke:#e07a00}
.pz-mu-off{opacity:.45}
/* v593: a escolhida na foto (ciano, a cor da caixa na foto), o mouse por cima (o que o clique escolheria) e o mapa no painel do passo 2 */
.pz-mu-sel .pz-mu-ring{fill:rgba(11,181,201,.32);stroke:#0b8fa0;stroke-width:4.5px}
.pz-mu-hot .pz-mu-ring{stroke:#0f1218;stroke-width:2px;stroke-dasharray:4 3}
.pz-mu-hot:not(.pz-mu-used):not(.pz-mu-next):not(.pz-mu-sel) .pz-mu-ring{fill:rgba(15,18,24,.08)}
.pz-pmapview.pz-hot{cursor:pointer}
.pz-wmap .pz-pmapview{height:var(--pz-maph,170px);min-height:130px;max-height:210px}
.pz-wmap .pz-pmapkey{font-size:11.5px}
/* v630: o quadro que cresce (no PC, o mouse parado em cima): fixo por cima da foto, preso pelo canto de cima a direita; o calco segura o lugar no painel */
.pz-gcalco{flex:none;height:var(--pz-gh)}
.pz-pmapview.pz-big,.pz-wmap .pz-pmapview.pz-big{position:fixed;left:var(--pz-gx);top:var(--pz-gy);width:var(--pz-gw);height:var(--pz-gh);min-height:0;max-height:none;z-index:5;box-shadow:0 14px 44px rgba(0,0,0,.6);outline:2px solid #3a4658;transform-origin:100% 0;animation:pz-grow .14s ease-out}
@keyframes pz-grow{from{transform:scale(.55);opacity:.5}}
/* v594: a escala pelas janelas conhecidas — os textos de cada modo (a trena / as conhecidas), a legenda do mapa em cada passo, a conhecida no mapa (laranja =
   na escala, a cor da caixa laranja) e a linha dela no painel; o mapa no topo do painel serve aos dois passos */
.pz-editor[data-pz-by=win] .pz-tapeonly,.pz-editor:not([data-pz-by=win]) .pz-winonly{display:none}
.pz-editor[data-pz-step=ref] .pz-key2,.pz-editor:not([data-pz-step=ref]) .pz-key1{display:none}
.pz-k-known{background:rgba(232,137,12,.35);border:2px solid #e8890c}
.pz-mu-known .pz-mu-ring{fill:rgba(232,137,12,.28);stroke:#e8890c;stroke-width:3.5px}
.pz-mu-known.pz-mu-sel .pz-mu-ring{fill:rgba(232,137,12,.35);stroke:#0b8fa0;stroke-width:4.5px}
.pz-row.pz-known{border-color:#7a4a0c}
.pz-ksize{font-weight:600;color:#ffc46b}
.pz-panel > .pz-wmap{margin-bottom:10px}
.pz-plabel{font:700 11px/1 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#9fb0c4;margin-top:4px}
.pz-modal:not(.pz-hasmap) .pz-plabel{display:none}
.pz-gridbtn[aria-pressed=true]{border-color:#7ee081;color:#7ee081}
/* v624: O OLHO embaixo do # — aceso = as marcas na foto; apagado = a foto limpa (o olho cortado) */
.pz-eyebtn{display:flex;align-items:center;justify-content:center;padding:0}
.pz-eyebtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pz-eyebtn .pz-eyepupil{fill:currentColor;stroke:none}
.pz-eyebtn .pz-eyeslash{display:none}
.pz-eyebtn.pz-eyecut .pz-eyeslash{display:inline} /* v625: cortado so com tudo escondido; laranja = algo escondido ou a intensidade mudada */
.pz-eyebtn[aria-pressed=false]{border-color:#e8890c;color:#e8890c}
/* v633: o WinRuler (a regua) embaixo do olho */
.pz-rulerbtn{display:flex;align-items:center;justify-content:center;padding:0}
.pz-rulerbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pz-svg.pz-off{display:none}
/* v625: AS MARCAS por tipo — cada peca do SVG leva data-pz-k e o SVG diz quais tipos esconder; a intensidade (o olho) em variaveis: abaixo de 100% transparente,
   acima a cor mais forte. A janelinha fica no canto de cima a direita, sem escurecer a foto (o efeito aparece na hora) */
.pz-svg{opacity:var(--pz-mop,1);filter:var(--pz-mfx,none)}
.pz-svg[data-pz-hide~="heat"] [data-pz-k="heat"],.pz-svg[data-pz-hide~="grid"] [data-pz-k="grid"],.pz-svg[data-pz-hide~="ref"] [data-pz-k="ref"],.pz-svg[data-pz-hide~="siding"] [data-pz-k="siding"],.pz-svg[data-pz-hide~="walls"] [data-pz-k="walls"],.pz-svg[data-pz-hide~="line"] [data-pz-k="line"],.pz-svg[data-pz-hide~="win"] [data-pz-k="win"],.pz-svg[data-pz-hide~="size"] [data-pz-k="size"],.pz-svg[data-pz-hide~="guide"] [data-pz-k="guide"]{display:none}
.pz-modal.pz-mmodal{background:transparent;align-items:flex-start;justify-content:flex-end;padding:56px 60px 16px 16px;box-sizing:border-box}
.pz-pbox.pz-mbox{max-width:290px;border-radius:16px;gap:4px;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.pz-mlist{display:flex;flex-direction:column}
.pz-mrow{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;font:600 14px/1.2 Archivo,sans-serif;color:#eef1f5;cursor:pointer}
.pz-mall{border-bottom:1px solid #2a3443;padding-bottom:4px}
.pz-mrow input{appearance:none;-webkit-appearance:none;flex:none;margin:0;width:42px;height:24px;border-radius:12px;background:#3a4658;position:relative;cursor:pointer}
.pz-mrow input::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#eef1f5}
.pz-mrow input:checked{background:#5ee08a}
.pz-mrow input:checked::after{left:21px}
.pz-mint{display:flex;flex-direction:column;gap:8px;padding:8px 0 4px;border-top:1px solid #2a3443;font:600 13px/1.2 Archivo,sans-serif;color:#cfd6e0}
.pz-mint i{font-style:normal;color:#e8890c;margin-left:8px}
.pz-mint input{width:100%;accent-color:#e8890c}
/* v592: a grade manda nas janelas — o painel do passo 2 diz o que ela faz agora */
.pz-editor[data-pz-grid=off] .pz-gon,.pz-editor:not([data-pz-grid=off]) .pz-goff{display:none}
.pz-gon,.pz-goff{font-size:12.5px;color:#9fb0c4}
.pz-add.pz-arm{background:#3a2a10;border-color:#e8890c;color:#ffc46b}
.pz-pcancel{min-height:46px;border:1px solid #3a4658;border-radius:12px;background:transparent;color:#eef1f5;font:700 14px/1 Archivo,sans-serif;cursor:pointer}
.pz-hacts{display:grid;grid-template-columns:1fr;gap:8px}
.pz-hbtn{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:12px;background:#e8890c;color:#111;font:700 15px/1 Archivo,sans-serif;cursor:pointer;text-align:center}
.pz-hbtn.pz-hsoft{background:#1d2633;color:#eef1f5;border:1px solid #3a4658}
.pz-hsec{display:flex;flex-direction:column;gap:6px}
.pz-hsec > small{font:700 11px/1 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#9fb0c4}
.pz-hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}
.pz-hthumb{padding:0;border:1px solid #2a3443;border-radius:10px;background:#0f1218;overflow:hidden;cursor:pointer;aspect-ratio:1}
.pz-hthumb img{width:100%;height:100%;object-fit:cover;display:block}
.pz-editor button:focus-visible,.pz-modal button:focus-visible,.pz-hbtn:focus-within{outline:2px solid #e8890c;outline-offset:2px}
@media (max-width:520px){ .pz-title{display:none} .pz-steps button{padding:0 9px;font-size:12.5px} .pz-done{padding:0 12px} }
@media (min-width:900px){
  .pz-body{flex-direction:row}
  .pz-panel{width:380px;max-height:none;border-top:0;border-left:1px solid #263040}
  .pz-modal{align-items:center}
  .pz-pbox{border-radius:16px}
  .pz-hasmap .pz-pbox{max-width:820px} /* v590: no PC o mapa ganha espaco */
  .pz-hasmap .pz-pmapview{height:var(--pz-maph,52vh);max-height:560px}
}
/* v650: o WinRuler DENTRO da foto — a camada (por cima das marcas, fora do olho), o icone ligado no roxo do quadro, a caixa da REF em cima do meio do lado e o
   cartao no alto do painel; as cores sao as do original */
.pz-wrsvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pz-rulerbtn[aria-pressed=true]{border-color:#b77ee0;color:#b77ee0}
.pz-wrref{position:absolute;left:var(--pz-wrx,0px);top:var(--pz-wry,0px);transform:translate(-50%,-50%);z-index:6}
.pz-wrref input{width:110px;min-height:40px;padding:7px 9px;font:700 16px/1 Archivo,system-ui,sans-serif;border-radius:6px;border:2px solid #e8c14a;background:#ffffff;color:#211e1b;text-align:center}
.pz-wrcard{margin-bottom:10px;padding:8px 10px;border:1px solid #4a3a5c;border-radius:8px;background:#1b1724}
.pz-wrhead{display:flex;align-items:center;gap:6px}
.pz-wrhead b{flex:1;color:#d9b8f5;font:800 13px/1 Archivo,sans-serif}
.pz-wrunit{display:inline-flex;border:1px solid #3a4658;border-radius:6px;overflow:hidden}
.pz-wrunit button{min-height:32px;min-width:36px;border:0;background:#121821;color:#eef1f5;font:700 12px/1 Archivo,sans-serif}
.pz-wrunit button[aria-pressed=true]{background:#eef1f5;color:#111111}
.pz-wrbtn{min-height:32px;padding:0 10px;border:1px solid #3a4658;border-radius:6px;background:#121821;color:#eef1f5;font:600 12px/1 Archivo,sans-serif}
.pz-wrx{min-width:32px;padding:0;font-size:16px}
.pz-wrsay{margin:6px 0 2px;font-size:12px;line-height:1.35;color:#a9b3c2}
.pz-wrrow{display:flex;justify-content:space-between;gap:10px;padding:2px 0;font-size:13px;font-variant-numeric:tabular-nums}
.pz-wrrow b{font-weight:700}
.pz-wrsw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;background:#b77ee0}
.pz-wrrow[data-pz-wrk="ref"] .pz-wrsw{background:#e8c14a}
.pz-wrrow[data-pz-wrk="green"] .pz-wrsw{background:#5fc98a}
.pz-wrrow[data-pz-wrk="blue"] .pz-wrsw{background:#8fa3ef}
.pz-wrrow[data-pz-wrk="area"]{border-top:1px solid #2c3442;margin-top:4px;padding-top:5px}
.pz-wrrow[data-pz-wrk="area"] .pz-wrsw{display:none}
/* v653: a escala pelo WinRuler - sem os campos da trena e sem o que e' das janelas conhecidas; o texto dele so nele */
.pz-editor[data-pz-by=ruler] .pz-tapeonly,.pz-editor:not([data-pz-by=ruler]) .pz-ruleronly{display:none}
/* v658 — AS LINHAS DE APOIO no passo 1: os 4 lados (apertado = solto, a conta desenha), + Plumb line / + Level line, a lista com o ✕ e o estado (o .pz-chip) */
.pz-apoio{display:flex;flex-direction:column;gap:8px;padding:10px 0 2px;border-top:1px solid #2a3442}
.pz-apsides{display:flex;flex-wrap:wrap;align-items:center;gap:0;border:1px solid #3a4658;border-radius:12px;overflow:hidden}
.pz-apsides small{flex-basis:100%;padding:6px 10px;font:600 12.5px/1.3 'Source Sans 3',sans-serif;color:#9fb0c4;border-bottom:1px solid #3a4658}
.pz-apsides button{flex:1;min-height:38px;border:0;background:#1d2633;color:#cfd6e0;font:700 13px/1 Archivo,sans-serif;cursor:pointer}
.pz-apsides button+button{border-left:1px solid #3a4658}
.pz-apsides button[aria-pressed="true"]{background:#e8890c;color:#111111;background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 6px,transparent 6px 11px);background-size:100% 3px;background-position:0 100%;background-repeat:no-repeat}
.pz-apadd{display:flex;gap:8px}
.pz-apadd button{flex:1;min-height:40px;border-radius:12px;border:1.5px solid #3a4658;background:#1d2633;font:800 13px/1 Archivo,sans-serif;cursor:pointer}
.pz-apadd .pz-aux-v{color:#35d0ba;border-color:#2a7f73}
.pz-apadd .pz-aux-h{color:#4aa3ff;border-color:#2b5f96}
.pz-auxlist{display:flex;flex-direction:column;gap:4px}
.pz-auxlist:empty{display:none}
.pz-auxrow{margin:0;display:flex;align-items:center;gap:8px;font-size:13px;color:#cfd6e0}
.pz-auxsw{flex:none;width:18px;height:4px;border-radius:2px;background:#35d0ba}
.pz-auxrow.pz-aux-h .pz-auxsw{background:#4aa3ff}
.pz-auxrow b{font:800 13px/1.2 Archivo,sans-serif;color:#eef1f5}
.pz-auxrow span{flex:1;color:#9fb0c4}
.pz-auxdel{flex:none;width:32px;height:32px;border-radius:8px;border:1px solid #3a4658;background:#121821;color:#eef1f5;font:700 16px/1 Archivo,sans-serif;cursor:pointer}
/* v660 — a linha que sai da parede (dourada) e o aviso da lente de chute no cartao do WinRuler */
.pz-apadd{flex-wrap:wrap}
.pz-apadd .pz-aux-z{color:#f2c14e;border-color:#8a6d1f;flex-basis:100%}
.pz-auxrow.pz-aux-z .pz-auxsw{background:#f2c14e}
.pz-wrlens{margin:4px 0 2px;padding:6px 8px;border:1px solid #e0a03a;border-radius:6px;background:#33270f;color:#ffd99a;font-size:12px;line-height:1.35}
.pz-wrlens[hidden]{display:none}
/* v661 — recomecar a caixa laranja (passo 1) */
.pz-rreset{align-self:flex-start;min-height:34px;padding:0 12px;border-radius:10px;border:1px solid #8a5a17;background:#1d2633;color:#f3b267;font:700 13px/1 Archivo,sans-serif;cursor:pointer}
/* v770: AS AREAS DE OUTRA PROFUNDIDADE — o icone embaixo do WinRuler (aceso no roxo das areas, o PZU_AREA do ui.js) e o cartao no alto do painel: o lado
   (Na frente / Atras), − o campo em polegadas +, + Area, Delete area */
.pz-areabtn{display:flex;align-items:center;justify-content:center;padding:0}
.pz-areabtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pz-areabtn[aria-pressed=true]{border-color:#c58cff;color:#c58cff}
.pz-arcard{margin-bottom:10px;padding:8px 10px;border:1px solid #57407a;border-radius:8px;background:#1c1726}
.pz-arcard .pz-wrhead b{color:#dcc0ff}
.pz-arcard [data-pz-arnew][aria-pressed=true]{border-color:#c58cff;color:#dcc0ff}
.pz-arcard [data-pz-arnew]:disabled{opacity:.45}
.pz-ardepth{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0}
.pz-ardepth input{width:70px;min-height:34px;padding:4px 8px;border:1px solid #3a4658;border-radius:6px;background:#0f1218;color:#eef1f5;font:700 15px/1 Archivo,sans-serif;text-align:right}
.pz-ardepth small{color:#9fb0c4;font:700 14px/1 Archivo,sans-serif;margin-left:-3px}
.pz-arstep{min-width:34px;padding:0;font-size:16px}
.pz-ardel{margin-top:2px}
/* v772: o BAY / BOW numa area — Plana / Bay, a planta (vista de cima), as faces, o aviso do nivel das pontas */
.pz-armodes{margin:4px 0 2px}
.pz-armodes button{padding:0 10px}
.pz-arbay{display:flex;flex-direction:column;gap:4px;margin:6px 0}
.pz-arplanta{width:100%;max-width:260px;height:auto;background:#121821;border:1px solid #2c3442;border-radius:6px}
.pz-arlvl{margin:2px 0;font-size:12px;line-height:1.35;color:#ffd23f}
.pz-arbay [data-pz-ardot]{align-self:flex-start}
.pz-arbay [data-pz-ardot]:disabled{opacity:.45}
