.app-dots{justify-content:center;align-items:center;display:inline-flex}.app-dots__dots{align-items:center;gap:.3em;display:inline-flex}.app-dots__dots>span{background:currentColor;border-radius:50%;width:.4em;height:.4em;animation:1s ease-in-out infinite app-dots-bounce}.app-dots__dots>span:nth-child(2){animation-delay:.15s}.app-dots__dots>span:nth-child(3){animation-delay:.3s}.app-dots--sm{font-size:12px}.app-dots--md{font-size:16px}.app-dots--lg{font-size:22px}.app-skeleton{padding:var(--spacing-sm) 0;flex-direction:column;gap:14px;display:flex}.app-skeleton__row{gap:var(--spacing-lg);padding:0 var(--spacing);grid-template-columns:2fr 1.5fr 1.5fr 1fr;align-items:center;display:grid}.app-skeleton__field{gap:var(--spacing-xs);flex-direction:column;display:flex}.app-skeleton__bar{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--btn-bg) 25%, var(--app-background) 50%, var(--btn-bg) 75%);background-size:200% 100%;height:14px;animation:1.4s ease-in-out infinite app-skeleton-shimmer;display:block}.app-skeleton__bar--wide{width:80%}.app-skeleton__bar--short{width:50%}.app-skeleton__bar--label{width:120px;height:12px}.app-skeleton__bar--input{height:var(--form-control-height)}.app-loading-overlay{position:relative}.app-loading-overlay__mask{z-index:1;background:var(--loading-overlay-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:.15s ease-out app-loading-fade-in;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.app-dots__dots>span,.app-skeleton__bar,.app-loading-overlay__mask{animation:none}}@keyframes app-dots-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-.3em)}}@keyframes app-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes app-loading-fade-in{0%{opacity:0}to{opacity:1}}.app-icon{vertical-align:-.125em;flex-shrink:0;width:1em;height:1em;display:inline-block;overflow:visible}.app-close-btn{border-radius:var(--radius-btn);color:var(--gray-600);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-close-btn:focus-visible{outline:2px solid var(--focus-color);outline-offset:-2px}.app-close-btn:disabled{opacity:.5;cursor:not-allowed}.app-close-btn--md{width:40px;height:40px;font-size:18px}.app-close-btn--xs{width:20px;height:20px;font-size:11px}.app-modal-backdrop{z-index:1055;padding:var(--app-modal-inset);background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden auto}.app-modal{--app-modal-width:var(--app-modal-w-3);width:min(var(--app-modal-width), calc(100vw - 2 * var(--app-modal-inset)));max-height:var(--app-modal-max-height);border:var(--app-modal-border);border-radius:var(--app-modal-radius);background:var(--app-modal-surface);min-height:0;box-shadow:var(--app-modal-shadow);outline:none;flex-direction:column;animation:.15s ease-out app-modal-enter;display:flex;overflow:hidden}.app-modal--w1{--app-modal-width:var(--app-modal-w-1)}.app-modal--w2{--app-modal-width:var(--app-modal-w-2)}.app-modal--w3{--app-modal-width:var(--app-modal-w-3)}.app-modal--w4{--app-modal-width:var(--app-modal-w-4)}.app-modal-backdrop--fullscreen-always{padding:0}.app-modal-backdrop--fullscreen-always .app-modal{border:none;border-radius:0;width:100vw;height:100dvh;max-height:none}@media (width<=767px){.app-modal-backdrop--fullscreen-mobile{padding:0}.app-modal-backdrop--fullscreen-mobile .app-modal{border:none;border-radius:0;width:100vw;height:100dvh;max-height:none}}.app-modal__header{padding:var(--app-modal-header-py) var(--app-modal-header-px) var(--app-modal-header-pb);color:var(--app-modal-muted);flex-shrink:0;align-items:center;gap:.75rem;display:flex}.app-modal__title{min-width:0;color:var(--text-color-primary);font-size:var(--text-size-26);font-weight:var(--text-weight-700);overflow-wrap:anywhere;flex:auto;margin:0;line-height:1.25}.app-modal__close{margin-left:auto}.app-modal__body{min-height:0;padding:var(--app-modal-body-py) var(--app-modal-body-px);-webkit-overflow-scrolling:touch;flex:auto;overflow:hidden auto}.app-modal__state{justify-content:center;margin:0;padding:1.5rem 0;display:flex}.app-modal__state--muted{color:var(--gray-600)}.app-modal__footer{padding:var(--app-modal-footer-py) var(--app-modal-footer-px) var(--app-modal-footer-pb);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}@media (width>=768px){.app-modal .app-modal__footer .app-btn{width:auto;min-width:var(--modal-footer-btn-min-width);min-height:36px;font-size:var(--text-size-14);flex:none;padding:.375rem 1.5rem}}@media (width<=767px){.app-modal .app-modal__footer .app-btn{flex:1 1 0;min-width:0}}.app-modal__footer--border-top{border-top:1px solid var(--app-modal-header-border)}@keyframes app-modal-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.app-modal{animation:none}}.app-modal.app-modal--dialog{width:fit-content;min-width:min(var(--app-dialog-width), calc(100vw - 2 * var(--app-modal-inset)));max-width:min(var(--app-dialog-max-width), calc(100vw - 2 * var(--app-modal-inset)));padding:0 var(--app-modal-header-px);text-align:center;align-items:center}.app-modal__dialog-icon{min-height:28px;margin:var(--spacing-2xl) 0 var(--spacing);color:var(--gray-700);place-items:center;display:grid}.app-modal__dialog-title{padding:0 0 var(--spacing-sm);color:var(--text-color-primary);font-size:var(--text-size-24);font-weight:var(--text-weight-600);margin:0;line-height:1.4}.app-modal--dialog .app-modal__body{width:100%;color:var(--gray-600);font-size:var(--text-size-14);padding:0;line-height:1.6}.app-modal--dialog .app-modal__footer{width:100%;margin-top:var(--spacing-2xl);padding:0 0 var(--spacing-2xl);justify-content:center}.swal2-container.swal-high-zindex{z-index:99999!important}.swal2-popup{background:var(--surface-color)!important;color:var(--gray-700)!important}.swal2-popup:not(.app-toast):not(.app-done){border-radius:var(--app-modal-radius)!important}.swal2-confirm,.swal2-cancel,.swal2-deny{background-color:var(--surface-color)!important;border-radius:var(--radius-btn)!important;font-weight:500!important;transition:background-color .2s,border-color .2s,box-shadow .2s!important}.swal2-confirm{background-color:var(--modal-footer-btn-primary)!important;border:1px solid var(--modal-footer-btn-primary)!important;color:var(--modal-footer-btn-on-primary)!important}.swal2-confirm:hover:not(:disabled),.swal2-confirm:active:not(:disabled),.swal2-confirm:focus:not(:disabled){background-color:var(--modal-footer-btn-primary-hover)!important;border-color:var(--modal-footer-btn-primary-hover)!important}.swal2-confirm.swal2-confirm-delete{background-color:var(--modal-footer-btn-danger)!important;border-color:var(--modal-footer-btn-danger)!important;color:var(--modal-footer-btn-on-danger)!important}.swal2-confirm.swal2-confirm-delete:hover:not(:disabled),.swal2-confirm.swal2-confirm-delete:active:not(:disabled),.swal2-confirm.swal2-confirm-delete:focus:not(:disabled){background-color:var(--modal-footer-btn-danger-hover)!important;border-color:var(--modal-footer-btn-danger-hover)!important}.swal2-cancel,.swal2-deny{border:1px solid var(--modal-footer-btn-secondary-border)!important;color:var(--modal-footer-btn-secondary-text)!important}.swal2-cancel:focus:not(:disabled),.swal2-deny:focus:not(:disabled){box-shadow:none!important}.swal2-cancel:hover:not(:disabled),.swal2-cancel:active:not(:disabled),.swal2-deny:hover:not(:disabled),.swal2-deny:active:not(:disabled){background-color:var(--modal-footer-btn-secondary-bg-hover)!important}.swal2-confirm:disabled,.swal2-cancel:disabled,.swal2-deny:disabled{opacity:.6!important;cursor:not-allowed!important}.swal2-popup.app-dialog{justify-items:center;width:fit-content!important;min-width:min(var(--app-dialog-width), calc(100vw - 2 * var(--app-modal-inset)))!important;max-width:min(var(--app-dialog-max-width), calc(100vw - 2 * var(--app-modal-inset)))!important;padding:0 var(--app-modal-header-px)!important;border:var(--app-modal-border)!important;box-shadow:var(--app-modal-shadow)!important;grid-template-columns:auto!important}.swal2-popup.app-dialog>*{grid-column:1/-1}.swal2-popup.app-dialog .swal2-icon.app-dialog__icon{width:28px!important;height:28px!important;margin:var(--spacing-2xl) 0 var(--spacing)!important;color:var(--gray-700)!important;background:0 0!important;border:none!important}.swal2-popup.app-dialog--danger .swal2-icon.app-dialog__icon{color:var(--danger-color)!important}.swal2-popup.app-dialog .app-dialog__icon .swal2-icon-content{place-items:center;display:grid;font-size:inherit!important}.swal2-popup.app-dialog .app-dialog__icon svg{width:28px;height:28px}.swal2-popup.app-dialog .swal2-title{padding:0 0 var(--spacing-sm)!important;color:var(--text-color-primary)!important;font-size:var(--text-size-24)!important;font-weight:var(--text-weight-600)!important;text-align:center!important;margin:0!important;line-height:1.4!important}.swal2-popup.app-dialog .swal2-html-container{color:var(--gray-600)!important;font-size:var(--text-size-14)!important;text-align:center!important;margin:0!important;padding:0!important;line-height:1.6!important}.swal2-popup.app-dialog .swal2-actions{gap:.75rem;width:100%!important;margin:var(--spacing-2xl) 0 0!important;padding:0 0 var(--spacing-2xl)!important;flex-wrap:wrap!important;justify-content:center!important}.swal2-popup.app-dialog .swal2-actions .swal2-styled{min-width:var(--modal-footer-btn-min-width);flex:none;min-height:36px;font-size:var(--text-size-14)!important;margin:0!important;padding:.375rem 1.5rem!important}@media (width<=767px){.swal2-popup.app-dialog .swal2-actions .swal2-styled{flex:1 1 0;min-width:0}}.swal2-popup.app-toast{box-shadow:var(--shadow-lg)!important}.swal2-container.app-done-container{pointer-events:none;background:0 0!important;place-items:center!important;width:auto!important;max-width:none!important;height:auto!important;padding:0!important;display:grid!important;position:fixed!important;inset:0!important;transform:none!important}.swal2-popup.app-done{place-items:center;width:auto!important;box-shadow:none!important;background:0 0!important;padding:0!important;display:grid!important;overflow:visible!important}.swal2-popup.app-done .swal2-icon.app-done__icon{filter:var(--success-glow);width:64px!important;height:64px!important;color:var(--success-color)!important;border:none!important;margin:0!important}.swal2-popup.app-done .app-done__icon .swal2-icon-content{place-items:center;display:grid}.swal2-popup.app-done .app-done__icon svg{width:64px;height:64px}.swal2-popup.app-done-show{animation:.2s ease-out app-done-in}.swal2-popup.app-done-hide{animation:.2s ease-in forwards app-toast-fade-out}.swal2-popup.app-toast-show{animation:.2s ease-out app-toast-in}.swal2-popup.app-toast-hide{animation:.2s ease-in forwards app-toast-out}@media (prefers-reduced-motion:reduce){.swal2-popup.app-toast-show,.swal2-popup.app-done-show{animation:.2s ease-out app-toast-fade-in}.swal2-popup.app-toast-hide{animation-name:app-toast-fade-out}}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes app-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes app-done-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes app-toast-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-toast-fade-out{0%{opacity:1}to{opacity:0}}
