.print-progress-overlay {
    position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center;
    box-sizing: border-box; padding: 20px; overflow-y: auto; overscroll-behavior: contain;
    background: rgba(16, 28, 41, .28); backdrop-filter: blur(4px); outline: none;
}
.print-progress-card {
    --print-accent: var(--brand-action, #0051bb);
    --print-ink: var(--brand-ink, #101c29);
    --print-muted: var(--brand-muted, #2b2b2b);
    --print-border: var(--brand-border, #dce6f5);
    box-sizing: border-box; width: min(100%, 360px); padding: 24px;
    border: 1px solid var(--print-border); border-radius: 20px; background: #fff;
    box-shadow: 0 16px 48px rgba(16, 28, 41, .12); text-align: left;
    font-family: 'Montserrat', sans-serif; color: var(--print-ink);
}
.print-progress-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.print-progress-spinner {
    display: block; flex-shrink: 0; box-sizing: border-box; width: 28px; height: 28px;
    border: 2px solid var(--print-border); border-top-color: var(--print-accent); border-radius: 50%;
    animation: print-progress-spin .85s linear infinite;
}
@keyframes print-progress-spin { to { transform: rotate(360deg); } }
.print-progress-card h2 {
    margin: 0; color: var(--print-ink) !important;
    font-size: 16px !important; font-weight: 650 !important; line-height: 1.4 !important;
}
.print-progress-count { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.print-progress-card .print-progress-status {
    min-width: 0; margin: 0; color: var(--print-muted) !important;
    font-size: 13px !important; font-weight: 400 !important; line-height: 1.5 !important;
}
.print-progress-count strong { flex-shrink: 0; color: var(--print-accent); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.print-progress-bar { display: block; appearance: none; width: 100%; height: 5px; border: 0; border-radius: 99px; overflow: hidden; background: var(--print-border); color: var(--print-accent); }
.print-progress-bar::-webkit-progress-bar { background: var(--print-border); border-radius: 99px; }
.print-progress-bar::-webkit-progress-value { background: var(--print-accent); border-radius: 99px; }
.print-progress-bar::-moz-progress-bar { background: var(--print-accent); border-radius: 99px; }
.print-progress-card #printProgressNote {
    margin: 12px 0 0; color: var(--print-muted) !important;
    font-size: 12px !important; font-weight: 400 !important; line-height: 1.5 !important;
}
@media (max-width: 480px) {
    .print-progress-overlay { padding: 16px; }
    .print-progress-card { padding: 20px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .print-progress-spinner { animation: none; }
}
