/* ═════════ 4.2 · ver o bloco de script v42 ═════════ */
/* interruptor: verde = ligado, cinzento = desligado, cinzento claro tracejado = não se pode mudar (depende de outro) */
.sw42{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:12.5px;font-weight:700;color:#7a7d78;min-height:30px;padding:0 2px;border-radius:16px}
.sw42 i{position:relative;width:44px;height:24px;border-radius:12px;background:#c9ccc6;transition:background .15s;flex:none}
.sw42 i::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}
.sw42.on{color:#1a7a7f}.sw42.on i{background:#298a8f}.sw42.on i::after{left:23px}
.sw42 span{min-width:62px;text-align:left}
.sw42:focus-visible{outline:2px solid #2f74c0;outline-offset:2px}
.sw42.dis{cursor:not-allowed;color:#a9aca6}.sw42.dis i{background:repeating-linear-gradient(45deg,#e4e5e1 0 4px,#d9dad5 4px 8px)}.sw42.dis.on i{background:#a6cacb}
.swr42{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--bd)}
.swr42:first-child{border-top:0}
.swr42>div{flex:1;min-width:0}.swr42>div b{display:block;color:var(--ink);font-size:14px}.swr42>div span{display:block;font-size:12.5px;color:var(--mu);margin-top:1px}
.swr42.dis>div b{color:#9a9d97}
.dep42{transition:opacity .15s}.dep42.off{opacity:.45;filter:grayscale(1);pointer-events:none;user-select:none}
.ag42s{border:1px solid var(--bd);border-radius:12px;padding:4px 14px 8px;margin-bottom:10px;background:var(--sf)}
.ag42s .qrow{border-top:1px dashed var(--bd)}
/* avisos discretos: amarelo (informação) e vermelho (falta resolver) */
.av42{border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.4;margin:8px 0}
.av42.am{background:#fbf3df;border:1px solid #efd9a3;color:#6a4d12}
.av42.vm{background:#fbe9e6;border:1px solid #efc3bb;color:#8a2c20}
.av42 b{color:inherit}
.lnk42{color:#2f74c0;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:none;border:0;padding:0;font-size:inherit}
/* «Sem NIF», chips dentro de nomes: ficam do tamanho do texto (antes esticavam a linha toda) */
@media (min-width:701px){.d b .chip,.d b>span.chip{width:fit-content!important;max-width:100%}}
/* Módulos e Preços: o resumo grande deixava texto fora do cartão */
.kp b{white-space:normal;overflow-wrap:anywhere}
.cat42.on{border-color:#a6cacb;box-shadow:inset 4px 0 0 #298a8f}
.x42{font-size:13.5px;color:var(--tx);margin:-2px 0 10px;max-width:900px}
.med42{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:center;background:linear-gradient(120deg,#fff 55%,#eef5f5)}
.med42 h2{font-family:var(--disp);font-size:16px;color:var(--tit);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.med42 p{font-size:13.5px;max-width:760px}
.med42b{display:flex;flex-direction:column;gap:6px;align-items:stretch;text-align:center}
/* totalizador fixo no fundo de Módulos e Preços */
.tot42{position:sticky;bottom:-18px;z-index:5;margin:6px -16px -18px;padding:12px 18px 14px;background:#1d4c4f;color:#e6f2f1;display:flex;gap:18px;align-items:center;border-radius:14px 14px 0 0;box-shadow:0 -6px 20px rgba(19,40,41,.18);flex-wrap:wrap}
.t42i{flex:1 1 300px;min-width:0}.t42l{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#a7d2d3}
.t42c{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.t42c span{background:rgba(255,255,255,.13);border-radius:12px;padding:2px 9px;font-size:12.5px;font-weight:600;color:#fff}.t42c em{font-style:normal;color:#d8e9e9;font-size:13px}
.t42v{display:flex;flex-direction:column;min-width:120px}.t42v b{font-family:var(--disp);font-size:22px;color:#fff;white-space:nowrap}.t42v b.sm{font-size:16px}.t42v em{font-style:normal;font-size:11.5px;color:#b6d4d4}
.t42a{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.t42a .sw42{color:#d8e9e9}.t42a .sw42.on{color:#fff}.t42a .sw42 i{background:#5b7d7f}.t42a .sw42.on i{background:#e9b872}
.t42f{background:#e9b872;color:#3a2a10;border-radius:10px;padding:6px 12px;display:flex;flex-direction:column;line-height:1.2}.t42f b{font-size:14px}.t42f span{font-size:11.5px}
/* Documentos e Condições: tópicos que abrem e fecham */
.defs42{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.acc42{display:flex;flex-direction:column;gap:8px;min-width:0}
.ac42{background:var(--sf);border:1px solid var(--bd);border-radius:14px;overflow:hidden}
.ac42.on{border-color:#a6cacb;box-shadow:0 2px 10px rgba(29,76,79,.06)}
.ach42{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;padding:12px 16px}
.ach42:hover{background:#f7f6f2}
.ach42 .n{width:28px;height:28px;border-radius:8px;background:var(--acl);color:var(--tit);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.ac42.on .ach42 .n{background:#298a8f;color:#fff}
.ach42 .t b{display:block;font-family:var(--disp);font-size:15px;color:var(--tit);letter-spacing:.01em}
.ach42 .t span{display:block;font-size:12.5px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ach42 .cv{font-size:12px;font-weight:700;color:#2f74c0;border:1px solid #cfdcec;border-radius:8px;padding:3px 10px;white-space:nowrap}
.acb42{padding:4px 16px 16px;border-top:1px solid var(--bd)}
.acb42 .g3,.acb42 .g2{gap:10px}.acb42 .w2{grid-column:span 2}
.prev42{position:sticky;top:0}.prev42 #defPrev{zoom:.7}
.fxs42{display:inline-block;width:22px;height:16px;border-radius:3px;border:1px solid #ccd1d2;background:#fff;margin-right:2px;vertical-align:middle;position:relative;overflow:hidden}
.fxs42.faixa{background:linear-gradient(#2b696e 0 45%,#fff 45%)}.fxs42.linha{background:linear-gradient(#2b696e 0 3px,#fff 3px)}
.mot42{display:grid;grid-template-columns:24px minmax(0,1fr) 34px;gap:8px;align-items:center;margin-bottom:6px}
.mot42 b{color:var(--mu);font-size:12.5px;text-align:center}
.cq42 .inp{min-height:38px}
/* documento: faixa de cor, tipo de letra */
.a4{font-family:var(--af,'Inter',sans-serif)!important}
.a4 .hd.bn42{background:var(--a);color:#fff;margin:-28px -32px 0;padding:18px 32px 14px;border:0}
.a4 .hd.bn42 .ttl,.a4 .hd.bn42 b{color:#fff}
.bnl42{display:flex;gap:12px;align-items:center}.bnl42>div{font-size:9px;line-height:1.35;opacity:.95}
.bnlg42{width:86px;height:46px;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:none;padding:3px}
.bnlg42 img{max-width:100%;max-height:100%;object-fit:contain}
.bnlg42.vz{color:#9a9385;font-size:7.5px;font-weight:700;text-align:center;line-height:1.2}
.bnr42{text-align:right;font-size:9px}
.a4.fx-linha{border-top:7px solid var(--a)!important}
@media print{.bnlg42.vz{display:none}}
/* plano de pagamentos */
.pq42{display:flex;flex-direction:column;gap:6px}
.pqh42{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pqt42{border:1px solid var(--bd);border-radius:10px;overflow:hidden}
.pqr42{display:grid;gap:10px;align-items:center;padding:6px 10px;border-top:1px solid var(--bd)}
.pqr42:first-child{border-top:0}
.pqr42.th{background:var(--sf2);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mu);padding:7px 10px}
.pqr42>b{color:var(--ink)}
.pqr42 .unit .inp{width:100%;text-align:right}
.pqr42 select.inp{min-height:36px}
/* mensagens com peças */
.tkw42{flex:1;min-width:0}
.tok42{min-height:62px;border:1px solid var(--bd);border-radius:10px;padding:9px 11px;background:var(--inp);line-height:2;font-size:14px;color:var(--ink);outline:none;white-space:pre-wrap;overflow-wrap:anywhere}
.tok42:focus{border-color:#77b0b3;box-shadow:0 0 0 3px rgba(41,138,143,.14)}
.tk42{display:inline-flex;align-items:center;gap:4px;background:#e7effa;color:#1f4f86;border:1px solid #c5d6ee;border-radius:14px;padding:0 4px 0 8px;font-size:12.5px;font-weight:700;line-height:22px;vertical-align:baseline;user-select:none;cursor:grab;white-space:nowrap}
.tk42 svg.i40{width:13px;height:13px}
.tk42 .tkx{width:18px;height:18px;border-radius:50%;font-size:13px;line-height:16px;color:#1f4f86;background:rgba(255,255,255,.7)}
.tk42 .tkx:hover{background:#fff;color:#b03a2e}
.tok42[contenteditable="false"] .tkx{display:none}
.tkp42{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:6px;font-size:12px;color:var(--mu)}
.tkp42 .tk42.add{cursor:pointer;padding:0 9px;background:#fff}
.tkp42 .tk42.add:hover{background:#e7effa}
.tkp42 .tk42.add[disabled]{cursor:not-allowed;opacity:.5}
.tkv42{font-size:12px;color:var(--mu);margin-top:4px}.tkv42 i{font-style:normal;color:var(--tx)}
/* Mão de Obra e Deslocação */
.sv42r{display:grid;grid-template-columns:30px minmax(150px,.9fr) minmax(180px,1.2fr) 210px minmax(270px,1.3fr);gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--bd)}
.sv42r.th{border-top:0;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mu);padding:0 0 4px}
.sv42r>span:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.sv42i{font-size:16px;display:flex;justify-content:center;color:var(--tit)}
.int42{border-color:#ecd9a6;background:#fffbf0}
.int42 h2{color:#7a5a12!important}
.lk42{display:inline-flex;width:24px;height:24px;border-radius:7px;background:#e9b13a;color:#fff;align-items:center;justify-content:center;vertical-align:-6px;margin-right:4px}
.lk42 svg{width:14px;height:14px}
.chip.am42{background:#f7e7bd;color:#6a4d12;border-color:#ecd28c}
/* dispositivos: regras fixas */
.rg42{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rg42>div{border:1px solid var(--bd);border-radius:12px;padding:10px 12px;background:var(--sf2);display:flex;flex-direction:column;gap:2px}
.rg42>div>span{font-size:18px;color:var(--tit)}.rg42 b{color:var(--ink);font-size:13.5px}.rg42 em{font-style:normal;font-size:12px;color:var(--mu)}
/* novo orçamento: voltar e cancelar */
.nv42{margin-bottom:10px}.nv42t{max-width:640px}
.rasc42{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.hint42{margin-top:10px;font-size:12px;color:var(--mu);background:var(--sf2);border-radius:9px;padding:7px 10px;line-height:1.45}
.hint42 b{color:var(--ink)}
.btn.k41.prc{border-color:#d6cdee;background:#f3f0fb;color:#4f3b9a}
/* produção: colunas */
.kb.kb42{grid-template-columns:repeat(var(--nc),minmax(0,1fr))}
.kb.kb42.many{grid-template-columns:repeat(var(--nc),minmax(200px,1fr));overflow-x:auto}
.kcol.x42{background:#f2eefa}
.kh .khn42{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.kh42e{opacity:0;width:24px;height:24px;border-radius:7px;flex:none;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.kh:hover .kh42e,.kh42e:focus{opacity:1;background:#fff}
.kh42e svg.i40{width:13px;height:13px}
.cl42r{display:grid;grid-template-columns:30px minmax(0,320px) auto 34px;gap:10px;align-items:center;padding:6px 0}
.cl42r.x42{padding-left:30px;grid-template-columns:30px minmax(0,290px) auto 34px}
.cl42i{font-size:16px;display:flex;justify-content:center;color:var(--tit)}
.cl42a{display:block;margin:0 0 0 40px;font-size:12px;color:#2f74c0;font-weight:600;padding:2px 8px;border-radius:7px;border:1px dashed #cfdcec}
.cl42a:hover{background:#eef4fb}
.ck42r{display:grid;grid-template-columns:24px minmax(0,1fr) 300px 34px;gap:8px;align-items:center;margin-bottom:6px}
.ck42r>span{color:var(--mu);font-size:12.5px;text-align:center}
.ck42n .inp:first-child{flex:1}.ck42n select{max-width:300px}
/* ficha da obra */
.ob42{padding:16px 18px}
.ob42t{display:flex;gap:14px;align-items:center}
.ob42t .av{width:46px;height:46px;border-radius:12px;background:#fbeee9;color:#c0553a;display:flex;align-items:center;justify-content:center;flex:none}
.ob42t .av svg{width:24px;height:24px}
.ob42t h1{font-family:var(--disp);font-size:21px;color:var(--tit);line-height:1.2}
.ob42t .ct{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:4px;font-size:13px;color:var(--tx)}
.ob42t .ct>span,.ob42t .ct>a{display:inline-flex;gap:5px;align-items:center}
.ob42t .ct svg.i40{width:14px;height:14px}
.ob42s{margin:14px 0 6px}
.ob42n{display:flex;flex-direction:column;gap:6px;margin:8px 0 12px}
.ob42n .pxp{margin:0}
.ob42 .tabs40{margin:0 -18px 12px;padding:0 12px}
.ob42b{min-height:180px}
.ob42g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ob42d>div:not(.sh){display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--bd);align-items:center}
.ob42d>div>span{font-size:12.5px;color:var(--mu)}.ob42d>div>b{color:var(--ink);font-weight:600;min-width:0}
.ob42d select.inp,.ob42d input.inp{min-height:32px;max-width:220px}
.ob42f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ob42th{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.ob42th .ob42ph{position:relative;display:block;padding:0;border-radius:9px;overflow:hidden;border:1px solid var(--bd);aspect-ratio:4/3;background:#eee}
.ob42th .ob42ph img,.ob42th .ob42ph video{width:100%;height:100%;object-fit:cover;display:block}
.vd42{position:absolute;inset:auto auto 6px 6px;background:rgba(0,0,0,.6);color:#fff;border-radius:6px;padding:0 6px;font-size:12px}
/* processo do cliente */
.pr42p{padding:12px 16px}
.pr42t button{position:relative}
.pr42t button s{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--k);margin-right:6px;vertical-align:1px;text-decoration:none}
.pr42t button svg{width:10px;height:10px;margin-left:4px;opacity:.6;display:inline}
.pr42l{display:grid;grid-template-columns:120px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--bd)}
.pr42l:first-child{border-top:0}
.pr42m{display:inline-flex;align-items:center;gap:6px;color:var(--k);font-weight:700;font-size:12px}
.pr42m svg.i40{width:16px;height:16px;padding:3px;box-sizing:content-box;border-radius:6px;background:color-mix(in srgb,var(--k) 14%,#fff)}
.pr42m em{font-style:normal;color:var(--mu);font-weight:600}
.pr42l .d b{color:var(--ink)}
.pr42lk{display:flex;align-items:center;gap:8px;color:var(--mu);font-size:13px;padding:10px 0}
/* pesquisa de clientes no topo */
.gs42b{width:auto!important;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--tx)}
.gs42b svg{width:15px;height:15px}
.gs42{display:none;right:auto;left:auto;width:470px}
.gs42.on{display:block!important}
#gs42{position:fixed;top:56px;right:330px}
.gs42 .q{position:relative}.gs42 .q svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--mu)}.gs42 .q .inp{width:100%;padding-left:32px}
.gs42r{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;width:100%;text-align:left;padding:8px 14px;border-top:1px solid var(--bd)}
.gs42r:hover{background:#f6f5f1}
.gs42r .av{width:34px;height:34px;border-radius:9px;background:var(--acl);color:var(--tit);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}
.gs42r .d b{display:block;color:var(--ink)}.gs42r .d>span{display:block;font-size:12px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs42c{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:3px}
.gs42c em{font-style:normal;font-size:11.5px;background:#eef1f6;color:#33476a;border-radius:10px;padding:1px 8px;white-space:nowrap}
.gs42c em.ok{background:#e4f3f3;color:#1b6c6f}
/* faixa «onde está» e filtro da agenda */
.st42{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.st42r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f3f0fb;border:1px solid #ddd5f1;border-radius:10px;padding:7px 10px}
.st42l{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#5b45a6}
.st42r>b{color:var(--ink)}
.q42{flex:0 1 330px!important;position:relative;min-width:220px}
.q42 svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--mu)}
.q42 .inp{width:100%;padding-left:32px;padding-right:30px}
.qx42{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;font-size:15px;color:var(--mu)}
.qx42:hover{background:#eee;color:var(--ink)}
/* ecrãs estreitos (1280–1400 px): nada sai do ecrã */
@media (max-width:1420px) and (min-width:701px){
 .defs42{grid-template-columns:minmax(0,1fr) 330px}.prev42 #defPrev{zoom:.6}
 .sv42r{grid-template-columns:26px minmax(120px,.9fr) minmax(140px,1fr) 180px minmax(230px,1.2fr)}
 .rg42{grid-template-columns:repeat(2,minmax(0,1fr))}
 .med42{grid-template-columns:minmax(0,1fr) 220px}
 #gs42{right:16px}
 .gs42b .gs42t{display:none}
}
@media (max-width:700px){.tot42{position:sticky;bottom:0;margin:6px -12px 0;border-radius:12px 12px 0 0}.defs42{grid-template-columns:1fr}.prev42{display:none}.gs42b{display:none!important}}
.gs42b .gs42t{font-style:normal}
.cl42r>.chip{justify-self:start}
@media (min-width:701px){#view>.filt{flex-wrap:wrap}}
.filt .q42 svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px}
.pqr42.th span{white-space:nowrap}
.t42a small{font-weight:500;color:#b6d4d4;font-size:11px}
@media (max-width:1420px) and (min-width:701px){.tot42{gap:12px 16px;padding:10px 16px 12px}.t42f{display:none}.t42v b{font-size:19px}.cat42 .qrow{grid-template-columns:minmax(0,1fr) 260px!important}}
@media (max-width:700px){
 .sv42r{display:grid;grid-template-columns:26px minmax(0,1fr)!important;gap:6px 8px}.sv42r>*:nth-child(n+3){grid-column:2}.sv42r.th{display:none}
 .rg42{grid-template-columns:1fr}.pqr42{grid-template-columns:52px minmax(0,1fr)!important}.pqr42>select,.pqr42>span:nth-child(n+3){grid-column:2}.pqr42.th{display:none}
 .cl42r,.cl42r.x42,.ck42r,.mot42{grid-template-columns:26px minmax(0,1fr) 34px!important}.cl42r>.chip,.ck42r>select{grid-column:2}
 .swr42{flex-wrap:wrap}.t42v{min-width:0}.med42{grid-template-columns:1fr}
}
.kb42 .job .ja{flex-wrap:wrap}

.ach42{padding:9px 16px}
.pr42t{flex-wrap:wrap;overflow:visible!important}
.pr42t button{padding-left:10px!important;padding-right:10px!important}

.acc42{gap:6px}.ach42{padding:8px 16px}
.tp42r{display:grid;grid-template-columns:34px 90px minmax(0,340px) auto;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--bd)}
.tp42i{width:30px;height:30px;border-radius:8px;background:var(--l);color:var(--c);display:flex;align-items:center;justify-content:center}
.tp42i svg.i40{width:16px;height:16px}
@media (max-width:700px){.tp42r{grid-template-columns:30px minmax(0,1fr)}.tp42r>.mu{grid-column:2}}
@media (max-width:700px){#uU .ch .rt .chip{display:none}}

