#pack-confirm-dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    height: fit-content;
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    box-sizing: border-box;
    width: min(440px, calc(100vw - 32px));
    padding: 28px;
    border: 0;
    border-radius: 18px;
    background: white;
    color: #30303b;
    font-family: Nunito, sans-serif;
    text-align: center;
    box-shadow: 0 12px 40px #0006;
}
#pack-confirm-dialog::backdrop { background: #101025b3; }
#pack-confirm-title { margin: 0 0 24px; font-size: 26px; }
#pack-confirm-dialog label { display: block; font-size: 18px; font-weight: 800; }
#pack-count-value { color: #147ad6; font-size: 30px; }
#pack-count-slider { width: 100%; margin: 20px 0 8px; accent-color: #147ad6; cursor: pointer; }
.pack-count-limits { display: flex; justify-content: space-between; color: #555; }
.pack-confirm-actions { display: flex; gap: 12px; margin-top: 24px; }
.pack-confirm-actions button { flex: 1; padding: 12px; border: 0; border-radius: 9px; font: 800 18px Nunito, sans-serif; cursor: pointer; min-height: 48px; }
#pack-confirm-open { background: #147ad6; color: white; }
#pack-confirm-open:hover { background: #0862b5; }
#pack-confirm-cancel { background: #ececf2; color: #333; }
#pack-confirm-dialog :focus-visible { outline: 3px solid #147ad6; outline-offset: 4px; }
#pack-batch-counter {
    position: fixed;
    left: max(20px, env(safe-area-inset-left));
    bottom: max(20px, env(safe-area-inset-bottom));
    z-index: 100000;
    padding: 10px 18px;
    border-radius: 10px;
    background: #000a;
    color: white;
    font: 800 26px Nunito, sans-serif;
    pointer-events: none;
}