#epcg-progress { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:1100; width:min(480px,calc(100% - 40px)); box-sizing:border-box; padding:18px 22px; border:1px solid #d7dfdc; border-radius:10px; background:#fff; color:#183b2f; box-shadow:0 5px 24px #0003; font:600 16px/1.5 sans-serif; pointer-events:none; }
#epcg-progress[hidden] { display:none; }
#epcg-progress::before { content:''; display:inline-block; width:15px; height:15px; margin-right:10px; border:3px solid #d7dfdc; border-top-color:#286b50; border-radius:50%; vertical-align:middle; animation:epcg-spin 1s linear infinite; }
@keyframes epcg-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { #epcg-progress::before { animation:none; } }
