/* v70 — escala de fonte (Config → Orçamento). Não afeta #printarea / PDF. */
html[data-fs="large"]{--fs-scale:1.12}
html[data-fs="xlarge"]{--fs-scale:1.25}

body{font-size:calc(15px * var(--fs-scale))}
header:not(.app-header) h1{font-size:calc(18px * var(--fs-scale))}
header:not(.app-header) p{font-size:calc(11.5px * var(--fs-scale))}
.step .dot{font-size:calc(13px * var(--fs-scale))}
.step span{font-size:calc(10px * var(--fs-scale))}
.card h2{font-size:calc(14px * var(--fs-scale))}
.card .sub{font-size:calc(11.5px * var(--fs-scale))}
label{font-size:calc(12px * var(--fs-scale))}
input,select,textarea{font-size:calc(15px * var(--fs-scale))}
.hint{font-size:calc(11px * var(--fs-scale))}
.btn{font-size:calc(14px * var(--fs-scale))}
.btn-sm{font-size:calc(12.5px * var(--fs-scale))}
.totbar .lab{font-size:calc(11px * var(--fs-scale))}
.totbar .val{font-size:calc(21px * var(--fs-scale))}
.tipo b{font-size:calc(13px * var(--fs-scale))}
.tipo small{font-size:calc(10.5px * var(--fs-scale))}
.info{font-size:calc(12px * var(--fs-scale))}
.ghead .gname{font-size:calc(12.5px * var(--fs-scale))}
.ghead .gtot{font-size:calc(12px * var(--fs-scale))}
.idesc .dn{font-size:calc(12.5px * var(--fs-scale))}
.idesc .du{font-size:calc(10.5px * var(--fs-scale))}
.iqty input{font-size:calc(13px * var(--fs-scale))}
.iqty .lt{font-size:calc(12.5px * var(--fs-scale))}
.foto textarea{font-size:calc(11.5px * var(--fs-scale))}
.foto .rm{font-size:calc(11px * var(--fs-scale))}
.addfoto{font-size:calc(12.5px * var(--fs-scale))}
.sumrow{font-size:calc(13px * var(--fs-scale))}
.sumrow.big{font-size:calc(16px * var(--fs-scale))}
.bar-line .bl-top{font-size:calc(11.5px * var(--fs-scale))}
.pill{font-size:calc(10.5px * var(--fs-scale))}
.dash-kpi .kpi-val{font-size:calc(22px * var(--fs-scale))}
.dash-kpi .kpi-lab{font-size:calc(10.5px * var(--fs-scale))}
.gantt-head{font-size:calc(10px * var(--fs-scale))}
.gantt-row{font-size:calc(11px * var(--fs-scale))}
.gantt-bar{font-size:calc(9px * var(--fs-scale))}
.crono-table{font-size:calc(11.5px * var(--fs-scale))}
.crono-table th{font-size:calc(10.5px * var(--fs-scale))}
.crono-table input{font-size:calc(12px * var(--fs-scale))}
.crono-warn{font-size:calc(11.5px * var(--fs-scale))}
.cmp-col h4{font-size:calc(13px * var(--fs-scale))}
.cmp-delta{font-size:calc(12px * var(--fs-scale))}
.btn-escopo-voz{font-size:calc(12px * var(--fs-scale))}

#content input,#content select,#content textarea{font-size:calc(15px * var(--fs-scale))!important}
#content label{font-size:calc(12px * var(--fs-scale))!important}

.app-header-titles h1{font-size:calc(16px * var(--fs-scale))}
.app-header-titles p{font-size:calc(10px * var(--fs-scale))}
.steps-compact{font-size:calc(11px * var(--fs-scale))}
.app-menu-btn{font-size:calc(20px * var(--fs-scale))}
.app-header-actions .hdr-btn{font-size:calc(12px * var(--fs-scale))}
.app-drawer-head strong{font-size:calc(15px * var(--fs-scale))}
.app-drawer-head span{font-size:calc(11px * var(--fs-scale))}
.app-drawer-nav button{font-size:calc(14px * var(--fs-scale))}
.app-drawer-foot{font-size:calc(10.5px * var(--fs-scale))}
.totbar-client{font-size:calc(11px * var(--fs-scale))}
.f8-acc-sum{font-size:calc(14px * var(--fs-scale))}
.f8-acc-sum::after{font-size:calc(12px * var(--fs-scale))}
.f8-acc-hint{font-size:calc(11px * var(--fs-scale))}
.f8-proj-status{font-size:calc(11.5px * var(--fs-scale))}
.f8-proj-tab{font-size:calc(10.5px * var(--fs-scale))}
.f8-cfg-tab{font-size:calc(11.5px * var(--fs-scale))}
.f8-cfg-ia-status{font-size:calc(11.5px * var(--fs-scale))}
.f8-cfg-modo>label{font-size:calc(12px * var(--fs-scale))}
.f8-cfg-modo-list{font-size:calc(11.5px * var(--fs-scale))}
.f8-cfg-sync-opt{font-size:calc(12px * var(--fs-scale))}
.file-proto-banner{font-size:calc(12px * var(--fs-scale))}
.file-proto-banner code{font-size:calc(11px * var(--fs-scale))}
.f8-toast{font-size:calc(12.5px * var(--fs-scale))}
.orc-ptr-hint{font-size:calc(12px * var(--fs-scale))}
.orc-ptr-toast{font-size:calc(12.5px * var(--fs-scale))}
.orc-update-banner{font-size:calc(12.5px * var(--fs-scale))}
.orc-update-banner button{font-size:calc(12px * var(--fs-scale))}

.f8-fs-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.f8-fs-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:12px 8px;border:1.5px solid var(--line);border-radius:10px;background:var(--soft);cursor:pointer;font-family:inherit;color:var(--navy);transition:.15s;min-height:64px}
.f8-fs-opt b{font-size:calc(22px * var(--fs-scale));line-height:1}
.f8-fs-opt small{font-size:calc(10.5px * var(--fs-scale));font-weight:700;color:var(--muted)}
.f8-fs-opt.active{border-color:var(--navy);background:#eef3fb;box-shadow:inset 0 -3px 0 var(--amber)}
.f8-fs-preview{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.f8-fs-preview .ghead{pointer-events:none}

@media(max-width:720px){
 .app-header-titles h1{font-size:calc(14px * var(--fs-scale))}
}
@media(max-width:520px){
 .f8-proj-tab{font-size:calc(10px * var(--fs-scale))}
}
@media(max-width:900px),(pointer:coarse){
 #servListArea .iqty-scroll .iqty input{font-size:calc(16px * var(--fs-scale))!important}
 #servListArea .iqty-scroll .iqty .lt{font-size:calc(13px * var(--fs-scale))!important}
 .serv-busca-clear{font-size:calc(16px * var(--fs-scale))}
 #inpBuscaServ{font-size:calc(16px * var(--fs-scale))!important}
}
