.jn-save-feedback{position:fixed;inset:auto auto 126px 50%;margin:0;box-sizing:border-box;max-width:calc(100vw - 28px);min-width:124px;padding:13px 24px;border:0;border-radius:14px;background:#247a46;color:#fff;box-shadow:0 6px 24px rgba(0,0,0,.22);font:700 16px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center;pointer-events:none;z-index:2147483000;opacity:0;transform:translate(-50%,8px);transition:opacity .16s,transform .16s}
.jn-save-feedback.visible{opacity:1;transform:translate(-50%,0)}
.jn-save-feedback strong{display:block;font-size:17px}
.jn-save-feedback span{display:block;max-width:320px;margin-top:3px;font-size:13px;font-weight:500;overflow-wrap:anywhere}
.jn-save-feedback [hidden]{display:none}
@media(prefers-reduced-motion:reduce){.jn-save-feedback{transition:none}}
@media print{.jn-save-feedback{display:none!important}}

.jn-saving-dots{display:inline-flex;min-width:1.2em;justify-content:space-evenly}.jn-saving-dots i{font-style:normal;animation:jn-save-dot 1s ease-in-out infinite}.jn-saving-dots i:nth-child(2){animation-delay:.15s}.jn-saving-dots i:nth-child(3){animation-delay:.3s}@keyframes jn-save-dot{0%,70%,100%{opacity:.35}35%{opacity:1}}
@media(prefers-reduced-motion:reduce){.jn-saving-dots i{animation:none;opacity:1}}

#jSaveStatus.jn-invoice-save-pending{position:fixed;left:50%;bottom:calc(138px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:max-content;max-width:min(380px,calc(100vw - 28px));z-index:2147482900;box-sizing:border-box;box-shadow:0 4px 20px #0002;pointer-events:none;font-weight:650}#jSaveStatus[hidden]{display:none}
