/* ============================================================
   UTILITÁRIAS GLOBAIS — extraídas de estilos inline dos templates.
   Convenção: mh-N (max-height), mw-N (max-width), wpx-N (width px),
   minw-N (min-width), hpx-N (height px), radius-N, fs-N (font-size .Nrem).
   Estilos dinâmicos (barras de progresso width:{{ ... }}%) seguem inline.
   ============================================================ */
.avatar-46 { width: 46px; height: 46px; border-radius: 14px; }
.avatar-48 { width: 48px; height: 48px; border-radius: 14px; }
.avatar-54 { width: 54px; height: 54px; border-radius: 16px; }
.card-flat-12 { border-radius: 12px; transition: .18s; cursor: default; }
.card-top-rounded { border-top-left-radius: 18px; border-top-right-radius: 18px; }
/* Container de gráfico Chart.js responsivo (maintainAspectRatio:false precisa
   de um pai com altura definida e posicionamento relativo). */
.chart-box-420 { position: relative; height: 420px; }
.fs-350 { font-size: 3.5rem; }
.fs-68 { font-size: .68rem; }
.fs-7 { font-size: .7rem; }
.hpx-6 { height: 6px; }
.hpx-8 { height: 8px; }
.hpx-10 { height: 10px; }
.label-mini { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.link-plain { text-decoration: none; color: inherit; display: flex; }
.mh-120 { max-height: 120px; }
.mh-150 { max-height: 150px; }
.mh-180 { max-height: 180px; }
.mh-200 { max-height: 200px; }
.mh-280 { max-height: 280px; }
.mh-300 { max-height: 300px; }
.mh-400 { max-height: 400px; }
.mh-480 { max-height: 480px; }
.mh-500 { max-height: 500px; }
.mh-520 { max-height: 520px; }
.mh-60 { max-height: 60px; }
.minw-40 { min-width: 40px; }
.minw-160 { min-width: 160px; }
.minw-170 { min-width: 170px; }
.minw-180 { min-width: 180px; }
.minw-220 { min-width: 220px; }
.mt-12px { margin-top: 12px; }
.mw-1100 { max-width: 1100px; }
.mw-150 { max-width: 150px; }
.mw-190 { max-width: 190px; }
.mw-200 { max-width: 200px; }
.mw-280 { max-width: 280px; }
.mw-380 { max-width: 380px; }
.mw-400 { max-width: 400px; }
.mw-440 { max-width: 440px; }
.mw-500 { max-width: 500px; }
.mw-520 { max-width: 520px; }
.mw-540 { max-width: 540px; }
.mw-600 { max-width: 600px; }
.mw-700 { max-width: 700px; }
.mw-720 { max-width: 720px; }
.mw-760 { max-width: 760px; }
.mw-800 { max-width: 800px; }
.oculto-inicial { display: none; }
.radius-12 { border-radius: 12px; }
.radius-16 { border-radius: 16px; }
.scroll-y { overflow-y: auto; }
.tooltip-wrap { pointer-events: none; white-space: normal; line-height: 1.3; }
/* Largura inicial 0 para barras de progresso preenchidas por JS
   (o JS sobrescreve via style.width, que vence a classe). */
.w-0 { width: 0%; }
.wpx-100 { width: 100px; }
.wpx-120 { width: 120px; }
.wpx-140 { width: 140px; }
.wpx-160 { width: 160px; }
.wpx-180 { width: 180px; }
.wpx-200 { width: 200px; }
.wpx-32 { width: 32px; }
.wpx-48 { width: 48px; }
.wpx-60 { width: 60px; }
/* Toasts acima do conteudo e de modais (1055), abaixo de tooltips. */
.z-1090 { z-index: 1090; }
