.macro-panel{background:#0f563d;color:#f4f1e6;border-radius:14px;padding:14px 6px 10px;position:relative;box-shadow:0 4px 14px rgba(15,86,61,.25)}.macro-panel:before{content:var(--macro-label,'""');position:absolute;top:-8px;left:14px;background:#f68c02;color:#fff;font-size:8px;padding:2px 9px;border-radius:999px;letter-spacing:.4px;white-space:nowrap}.macro-panel .igrid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;overflow:hidden}.macro-panel .ring-item{text-align:center}.macro-panel .ring-wrap{position:relative;width:100%;max-width:50px;aspect-ratio:1/1;margin:0 auto}.macro-panel svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.macro-panel svg .bg{fill:none;stroke:hsla(47,39%,93%,.18);stroke-width:6}.macro-panel svg .fg{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dasharray .4s ease}.macro-panel .ring-item[data-m=cal] .fg{stroke:#f4f1e6}.macro-panel .ring-item[data-m=protein] .fg{stroke:#f8e3f3}.macro-panel .ring-item[data-m=fat] .fg{stroke:#f68c02}.macro-panel .ring-item[data-m=carbs] .fg{stroke:#ffe9c2}.macro-panel .ring-item[data-m=fiber] .fg{stroke:#c0dd97}.macro-panel .ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.macro-panel .ring-center .val{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:clamp(8.5px,2.6vw,11px);line-height:1;white-space:nowrap}.macro-panel .ring-center .lbl{font-size:6px;opacity:.75;text-transform:uppercase;letter-spacing:.4px;margin-top:2px}.macro-panel.dim{opacity:.55}