/* ═════════ 3.9 · zoom da app (igual maximizada ou não), opções que passam para baixo em vez de cortar,
   NIF, comerciais, ficha do cliente, planear obras, sem resposta, compras, conciliação, ficha da obra, dispositivos ═════════ */
:root{--az:1}
@media (min-width:701px){
 body{zoom:var(--az)}
 .app,.main{height:calc(100vh / var(--az))}
 .modal{max-height:calc(95vh / var(--az));max-width:calc(96vw / var(--az))}
 .notifs{max-height:calc(70vh / var(--az))}
 .toast{max-width:calc(90vw / var(--az))}
 /* opções do orçamento: se não cabem numa linha passam para baixo; o texto nunca fica cortado */
 .opts.one{flex-wrap:wrap}
 .opts.one .opt{flex:0 0 auto;overflow:visible}
 .opt .ol{overflow:visible;text-overflow:clip}
 .fsel.one{flex-wrap:wrap}
 .fsel.one .fs{flex:1 1 auto;min-width:0}
 .fsel.one .fs b{white-space:normal;overflow:visible;text-overflow:clip}
 .tipos.one{flex-wrap:wrap}
 .tipos.one .tipo{flex:1 1 150px;container-type:normal}
 .tipos.one .tipo b{-webkit-line-clamp:unset;display:block}
 .lv.l39{grid-template-columns:minmax(0,1fr) 84px 66px 96px 96px 96px 40px 34px}
 .lv.l39.tec{grid-template-columns:minmax(0,1fr) 84px 66px 40px 34px}
}
@media print{body{zoom:1!important}}
/* tamanho da app */
.zbtn{position:relative;border:1px solid var(--bd);background:var(--sf);border-radius:9px;height:34px;padding:0 9px;font-size:13px;font-weight:600;color:var(--ink);flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.zbtn:hover{border-color:var(--acb)}
/* topo apertado (app grande ou janela pequena): tira o «Ver como» e encolhe os botões */
.topo.tz .ctl{display:none}.topo.tz .vc button{padding:6px 7px}.topo.tz .zbtn span{display:none}.topo.tz{gap:8px}
.zpop{position:fixed;top:60px;right:70px;width:330px;background:var(--sf);border:1px solid var(--bd);border-radius:12px;box-shadow:0 10px 30px rgba(35,64,74,.14);padding:12px 14px;z-index:61;display:none}
.zpop.on{display:block}
.zpop .zr{display:flex;align-items:center;gap:8px;margin:10px 0 8px}
.zpop .zr b{flex:1;text-align:center;font-family:var(--disp);font-size:22px;color:var(--ink)}
.zpop .zr .btn{min-width:58px;font-size:15px}
.zpop .opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.zpop .opt{min-height:34px;padding:4px 10px;justify-content:center}
/* NIF e cliente novo */
.nifm{font-size:12px;margin-top:4px;min-height:16px;font-weight:600}
.nifm.ok{color:var(--ac)}.nifm.no{color:var(--red)}
.cnew{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--ac);background:var(--acl);border-radius:10px;padding:8px 12px}
.cnew[hidden]{display:none}
.snf{margin-top:6px;min-height:32px;font-size:12.5px}
/* tipo de cliente */
.tp-part{background:#eef2f6;color:#3b5a75}.tp-emp{background:#f3ecdf;color:#7a5a17}
/* comercial */
.comc{display:inline-flex;align-items:center;gap:4px;border-radius:12px;padding:1px 8px;font-size:12px;font-weight:600;background:#ece8f3;color:#5b4b8a;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* clientes: concluídos escondidos, ficha */
details.cx39{margin-top:10px;border:1px dashed var(--bd);border-radius:10px;background:var(--sf)}
details.cx39>summary{cursor:pointer;padding:8px 12px;font-size:12.5px;font-weight:700;color:var(--mu);list-style:none}
details.cx39>summary::-webkit-details-marker{display:none}
details.cx39>div{padding:0 12px 10px}
.cfh{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center}
.cfh .av{width:64px;height:64px;border-radius:16px;background:var(--acl);color:var(--ac);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:24px;font-weight:700}
.cfh h1{font-family:var(--disp);font-size:24px;color:var(--ink);line-height:1.15}
.cfh .ct{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:13px;color:var(--tx)}
.tln{display:flex;flex-direction:column}
.tln .ti{display:grid;grid-template-columns:86px 26px minmax(0,1fr);gap:8px;align-items:start;padding:6px 0;border-top:1px solid var(--bd);font-size:13px}
.tln .ti:first-child{border-top:0}
.tln .ti .tq{color:var(--mu);font-size:12px;padding-top:1px}
.vazio.sm{padding:10px;text-align:left}
/* planear obras */
.pl39{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start}
.pld{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.pld .dh{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);font-size:13.5px}
.pld .dh .chip{margin-left:auto}
.plj{background:#fff;border:1px solid var(--bd);border-left:4px solid var(--mc);border-radius:9px;padding:8px 9px;font-size:12.5px;display:flex;flex-direction:column;gap:4px;cursor:pointer}
.plj b{color:var(--ink);font-size:13px}
.plj .r2{display:flex;flex-wrap:wrap;gap:4px}
.plj .chip{font-size:11px;padding:1px 7px}
.chip.w30{background:#f7e3e0;color:#b03a2e}
.plv{border:1.5px dashed var(--bd);border-radius:9px;padding:8px;font-size:12px;color:var(--mu);text-align:center}
.plk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
/* ficha da obra */
.of39{width:1000px;max-width:100%}
.ofg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}
.ofg .card{margin:0}
.ofl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px 0;border-top:1px dashed var(--bd);font-size:13px;align-items:center}
.ofl:first-of-type{border-top:0}
.pxp{display:flex;gap:10px;align-items:center;padding:7px 10px;border-radius:9px;background:var(--bg);border:1px solid var(--bd);margin-top:6px;font-size:13px}
.pxp.al{background:#fcf6e8;border-color:#f0dcad}
.pxp.ok{background:var(--acl);border-color:var(--acb)}
.pxp .btn{margin-left:auto}
.v2 .job .jx{display:flex;flex-wrap:wrap;gap:4px}
.v2 .job .jx .chip{font-size:11px;padding:1px 7px}
.v2 .job .chip.mat{background:#e4eded;color:#2b696e}
.v2 .job .chip.w30{background:#f7e3e0;color:#b03a2e}
.v2 .job>b{cursor:pointer}.v2 .job>b:hover{text-decoration:underline}
/* conciliação e compras */
.cc39 .tr{min-height:46px}
.cc39 .d b,.cc39 .d span{white-space:normal}
.conf{font-size:11.5px;font-weight:700;border-radius:10px;padding:1px 8px;white-space:nowrap}
.conf.c3{background:var(--acl);color:var(--ac)}.conf.c2{background:var(--warnl);color:var(--warn)}.conf.c1{background:var(--sf2);color:var(--mu)}
.mbar39{display:flex;align-items:flex-end;gap:3px;height:56px}
.mbar39 i{flex:1;background:var(--mc);border-radius:3px 3px 0 0;min-height:2px;opacity:.85}
.mbar39 i.lo{opacity:.35}
/* dispositivos */
.dv39{display:grid;grid-template-columns:40px minmax(0,1fr) 150px 150px 120px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--bd)}
.dv39:first-of-type{border-top:0}
.dv39 .ic34{font-size:18px}
.lgn{width:420px;max-width:100%;text-align:center}
.lgn .dv39{text-align:left;grid-template-columns:30px 40px minmax(0,1fr) 110px}
@media (max-width:700px){
 .zbtn,.zpop{display:none!important}
 .cfh{grid-template-columns:52px minmax(0,1fr)}.cfh>.row{grid-column:1/-1}
 .cfh .av{width:52px;height:52px;font-size:20px}
 .pl39,.ofg,.plk{grid-template-columns:1fr}
 .of39{width:100%}
 .dv39{grid-template-columns:34px minmax(0,1fr) auto}.dv39>:nth-child(3),.dv39>:nth-child(4){grid-column:2/-1}
 .tln .ti{grid-template-columns:70px 22px minmax(0,1fr)}
 .ofl.st{grid-template-columns:1fr}.ofl.st>.row{justify-content:flex-start}
}
