/* Meia rosca da carga nos cards da equipe (30/10/2026): trilho em 3 vagas, degradê ao longo do arco e
   número no centro. As cores do estado seguem a ocupação das 3 vagas.
   Sem filtro no arco: drop-shadow em SVG é rasterizado e, com o zoom de escala na raiz, a borda saía
   serrilhada. Sem ponto na ponta (pedido do dono, 30/10). */
.fd-operator .fd-operator-load{--carga-cor:#629ee9;--carga-trilho:#629ee926;--carga-brilho:#629ee955}
.fd-operator .fd-operator-load[data-nivel=livre]{--carga-cor:#34d399;--carga-brilho:#34d39955}
.fd-operator .fd-operator-load[data-nivel=carga]{--carga-cor:#fbbf24;--carga-brilho:#fbbf2455}
.fd-operator .fd-operator-load[data-nivel=limite]{--carga-cor:#fb923c;--carga-brilho:#fb923c66}
.fd-operator .fd-operator-load[data-nivel=sobrecarga]{--carga-cor:#f43f5e;--carga-brilho:#f43f5e80}
.fd-operator .fd-operator-load[data-nivel=indisponivel]{--carga-cor:#94a3b8;--carga-brilho:transparent}

.fd-operator .fd-operator-load svg{overflow:visible;shape-rendering:geometricPrecision}
/* Trilho: 3 segmentos de 32 com respiro de 2 (pathLength 100) — uma vaga por atendimento. */
.fd-operator .fd-operator-load .fd-operator-load-track{fill:none;stroke:var(--carga-trilho);stroke-width:9;stroke-linecap:butt;stroke-dasharray:32 2}
.fd-operator .fd-operator-load .fd-operator-load-fill{fill:none;stroke-width:9;stroke-linecap:round;shape-rendering:geometricPrecision;transition:stroke-dasharray .45s cubic-bezier(.2,.8,.2,1),opacity .2s}
.fd-operator .fd-operator-load .fd-operator-load-tip{display:none}

/* Centro dentro da área interna da rosca (raio interno ~72% da largura), com respiro dos dois lados:
   largura de 58% e texto que cabe do "LIVRE" ao "SOBRECARGA" sem encostar no arco. */
.fd-operator .fd-operator-load-center{left:21%;right:21%;gap:3px;padding-top:7%;text-align:center}
.fd-operator .fd-operator-load-num{display:flex;align-items:baseline;justify-content:center;gap:1px;font:800 clamp(15px,12cqi,22px)/1 Inter,'Segoe UI',sans-serif;color:var(--carga-cor);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.fd-operator .fd-operator-load-num small{font-size:.52em;font-weight:700;opacity:.55;color:currentColor}
.fd-operator .fd-operator-load-label{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:clip;font:700 clamp(7px,5.2cqi,9.5px)/1.15 Inter,'Segoe UI',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--carga-cor);opacity:.9}
.fd-operator .fd-operator-load-extra{position:absolute;top:8%;right:9%;padding:1px 6px;border-radius:999px;font:800 10px/1.4 Inter,'Segoe UI',sans-serif;font-style:normal;color:#fff;background:#f43f5e;box-shadow:0 0 0 2px #f43f5e33}

/* Acima da capacidade: o arco cheio respira (opacidade, sem filtro). */
.fd-operator .fd-operator-load[data-nivel=sobrecarga] .fd-operator-load-fill{animation:fd-carga-pulso 1.6s ease-in-out infinite}
@keyframes fd-carga-pulso{0%,100%{opacity:1}50%{opacity:.62}}

/* Card offline: tudo apagado, sem brilho. */
.fd-operator[data-status=OFFLINE] .fd-operator-load,.fd-operator[data-status=AUSENTE] .fd-operator-load{--carga-brilho:transparent}

@media (prefers-reduced-motion:reduce){
  .fd-operator .fd-operator-load .fd-operator-load-fill{transition:none}
  .fd-operator .fd-operator-load[data-nivel=sobrecarga] .fd-operator-load-fill{animation:none}
}

/* Tema claro: número e estado em tons mais escuros (âmbar/verde puros somem no branco). O arco mantém o degradê. */
html:not(.fd-v2-escuro) body:not(.fd-app-dark) .fd-operator .fd-operator-load[data-nivel=livre]{--carga-cor:#059669}
html:not(.fd-v2-escuro) body:not(.fd-app-dark) .fd-operator .fd-operator-load[data-nivel=carga]{--carga-cor:#d97706}
html:not(.fd-v2-escuro) body:not(.fd-app-dark) .fd-operator .fd-operator-load[data-nivel=limite]{--carga-cor:#ea580c}
html:not(.fd-v2-escuro) body:not(.fd-app-dark) .fd-operator .fd-operator-load[data-nivel=sobrecarga]{--carga-cor:#e11d48}

/* Área central limitada pelo diâmetro interno do arco, com 10 px de respiro de cada lado. */
.fd-operator .fd-operator-load{container-type:size}
.fd-operator .fd-operator-load-center{left:50%;right:auto;top:calc(50% + min(3.67cqw,4cqh));bottom:auto;width:max(0px,calc(min(72.5cqw,79.09cqh) - 20px));height:auto;padding:0;transform:translate(-50%,-50%);container-type:inline-size}
.fd-operator .fd-operator-load-label{font-size:clamp(6px,12cqi,9.5px);max-width:100%}
.fd-operator .fd-operator-load-num{font-size:clamp(12px,40cqi,22px)}
