button.mail-send-progress {
    position: relative !important;
    overflow: hidden !important;
    cursor: wait !important;
    opacity: 1 !important;
    border-color: #2563eb !important;
    background: #2563eb !important;
    color: #fff !important;
}
.mail-send-progress__content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
    line-height: 1.3;
}
.mail-send-progress__spinner {
    width: .85em;
    height: .85em;
    flex: 0 0 auto;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: mail-send-spin .8s linear infinite;
}
.mail-send-progress__elapsed {
    font-size: .85em;
    font-variant-numeric: tabular-nums;
    opacity: .85;
}
.mail-send-progress__gauge {
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    overflow: hidden;
    background: rgba(255, 255, 255, .22);
    pointer-events: none;
}
.mail-send-progress__gauge::after {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 40%;
    background: #fff;
    box-shadow: 0 0 4px currentColor;
    animation: mail-send-gauge 1.4s ease-in-out infinite;
}
.mail-send-progress--compact .mail-send-progress__content {
    flex-direction: column;
    gap: 0;
    line-height: 1.1;
}
.mail-send-progress--compact .mail-send-progress__spinner { display: none; }
@keyframes mail-send-spin { to { transform: rotate(360deg); } }
@keyframes mail-send-gauge {
    from { transform: translateX(-100%); }
    to { transform: translateX(350%); }
}
@media (prefers-reduced-motion: reduce) {
    .mail-send-progress__spinner, .mail-send-progress__gauge::after { animation: none; }
    .mail-send-progress__gauge::after { left: 30%; }
}
