@keyframes dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-box-in{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:none}}@keyframes dialog-block-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.modal-overlay{animation:dialog-overlay-in .3s ease-out backwards}.modal-overlay .modal-box{animation:dialog-box-in .6s cubic-bezier(.16,1,.3,1) backwards}.modal-overlay :is(.modal-title,.modal-body>*,.modal-footer){animation:dialog-block-in .65s cubic-bezier(.16,1,.3,1) backwards}.modal-overlay .modal-body>*{animation-delay:.11s}.modal-overlay .modal-body>:nth-child(2){animation-delay:.22s}.modal-overlay .modal-body>:nth-child(n+3),.modal-overlay .modal-footer{animation-delay:.33s}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal-overlay :is(.modal-box,.modal-title,.modal-body>*,.modal-footer){animation:none;transition:none}}@media(max-width:760px){.modal-overlay .modal-footer,.modal-overlay .modal-footer>.filter-actions,.modal-overlay .modal-body>.filter-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);width:100%}.modal-overlay .modal-footer .btn,.modal-overlay .modal-body>.filter-actions .btn{flex:1 1 120px;min-height:44px;justify-content:center;order:0}}.modal-overlay[data-motion-closing=true] :is(.modal-header,.modal-title,.modal-body>*,.modal-footer){animation:none}.global-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-loader);display:flex;align-items:center;justify-content:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.global-loader-box{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.toast-root{position:fixed;top:auto;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(22.5rem,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2);margin:0 0 calc(-1 * var(--space-2));box-sizing:content-box;pointer-events:none}.toast{--toast-tone: var(--color-primary);--toast-blur: saturate(120%) blur(8px);--toast-tint: 14%;isolation:isolate;position:relative;display:flex;align-items:center;gap:var(--space-2);box-sizing:border-box;width:100%;min-width:0;flex-shrink:0;min-height:54px;padding:var(--space-1) var(--space-3);font-size:var(--text-md);line-height:1.45;color:var(--color-text);background:var(--color-surface);background:var(--toast-bg, var(--glass-bg-strong));-webkit-backdrop-filter:var(--toast-blur);backdrop-filter:var(--toast-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);opacity:0;transform:translateY(8px);transition:opacity .24s var(--ease-out),transform .24s var(--ease-out);pointer-events:auto;overflow:hidden}.toast-visible{opacity:1;transform:translateY(0)}.toast-success{--toast-tone: var(--color-success)}.toast-error{--toast-tone: var(--color-danger)}.toast-warning{--toast-tone: var(--color-warning-text)}.toast .toast-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;font-size:20px;color:var(--toast-tone)}.toast-body{flex:1;min-width:0;overflow-wrap:anywhere}.toast-message{margin:0;white-space:pre-line}.toast-close{position:relative;inset:auto;align-self:center;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin:0 -8px 0 0;padding:0;border:0;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted)}.toast-close:hover{background:var(--color-accent);color:var(--color-text)}.toast-close:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.toast-close .material-symbols-rounded{font-size:18px}.toast>:not(.toast-progress){position:relative;z-index:1}.toast-progress{position:absolute;inset:0 auto 0 0;width:125%;height:100%;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--toast-tone) var(--toast-tint),transparent) 0%,color-mix(in srgb,var(--toast-tone) var(--toast-tint),transparent) 80%,transparent 100%);transform-origin:left center}@keyframes toast-progress-fill{0%{transform:scaleX(0)}98%,to{transform:scaleX(1)}}.toast-progress-running{animation:toast-progress-fill var(--toast-duration, 6s) linear both}.toast-progress-paused{animation-play-state:paused}[data-color-scheme=dark] .toast{--toast-tint: 22%}@media(max-width:760px){.toast-root{bottom:calc(104px + env(safe-area-inset-bottom));max-height:calc(100dvh - 248px - env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.toast{transform:none;transition:opacity .12s linear}.toast-progress{animation:none;transform:none}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.toast{background:var(--color-surface)}}
