.modal-panel-overlay{-webkit-backdrop-filter:blur(6px);z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out mp-fade-in;display:flex;position:fixed;inset:0}.modal-panel-container{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;width:100%;max-height:calc(100dvh - 2rem);animation:.3s cubic-bezier(.175,.885,.32,1.2) mp-pop-in;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000002e}html.dark .modal-panel-container{background:#1a1b1e;border-color:#ffffff14;box-shadow:0 24px 60px #00000080}.modal-panel-container.shaking{animation:.45s cubic-bezier(.36,.07,.19,.97) both mp-shake}.modal-panel-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem 1rem;display:flex}.modal-panel-header-text{flex-direction:column;gap:2px;min-width:0;display:flex}.modal-panel-title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:700;line-height:1.3;overflow:hidden}.modal-panel-subtitle{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.82rem;line-height:1.4;overflow:hidden}.modal-panel-close{width:32px;min-width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.modal-panel-close:hover{background:var(--color-bg-secondary);color:var(--color-text)}.modal-panel-body{-webkit-overflow-scrolling:touch;flex:1;padding:1.5rem;overflow-y:auto}.modal-panel-footer{border-top:1px solid var(--color-border);background:var(--color-bg-secondary,var(--color-bg));flex-shrink:0;justify-content:flex-end;align-items:center;gap:.625rem;padding:1rem 1.5rem;display:flex}@keyframes mp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mp-pop-in{0%{opacity:0;transform:scale(.94)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes mp-shake{0%,to{transform:translate(0)}15%,45%,75%{transform:translate(-6px)}30%,60%,90%{transform:translate(6px)}}@media (max-width:540px){.modal-panel-overlay{align-items:flex-end;padding:0}.modal-panel-container{border-radius:16px 16px 0 0;max-height:92dvh;padding-top:0;animation:.28s cubic-bezier(.32,.72,0,1) mp-slide-up}.modal-panel-container:before{content:"";background:var(--color-border);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 0;display:block}.modal-panel-header{padding:.875rem 1.25rem}.modal-panel-body{padding:1.25rem}.modal-panel-footer{flex-direction:column-reverse;gap:.5rem;padding:.875rem 1.25rem}.modal-panel-footer>*{justify-content:center;width:100%}.modal-panel-title{white-space:normal;font-size:1rem}.modal-panel-subtitle{white-space:normal}@keyframes mp-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}
.loading-state-container{color:#64748b;letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;width:100%;min-height:180px;font-family:DM Mono,monospace;font-size:12px;display:flex}.loading-state-container.full-page{z-index:9999;background:var(--background,#e6f2ff);min-height:100vh;position:fixed;inset:0}@supports not (font-family:'DM Mono'){.loading-state-container{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}}.loading-state-dot{background:#8b5cf6;border-radius:50%;width:6px;height:6px;margin-right:12px;animation:1.2s ease-in-out infinite loading-blink;box-shadow:0 0 10px #8b5cf666}@keyframes loading-blink{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 10px #8b5cf666}50%{opacity:.3;transform:scale(.85);box-shadow:0 0 4px #8b5cf61a}}.loading-state-text{font-weight:500}.dark .loading-state-container,[data-theme=dark] .loading-state-container{color:#94a3b8}.dark .loading-state-dot,[data-theme=dark] .loading-state-dot{background:#a78bfa;box-shadow:0 0 12px #a78bfa80}
:root{--notification-bg:var(--color-surface);--notification-text:var(--color-text);--notification-text-muted:var(--color-muted);--notification-border:var(--color-border);--notification-shadow:var(--color-shadow);--success-accent:#10b981;--error-accent:#ef4444;--warning-accent:#f59e0b;--info-accent:#3b82f6;--notif-bounce:cubic-bezier(.34, 1.56, .64, 1);--notif-smooth:cubic-bezier(.4, 0, .2, 1)}.notification-container{z-index:10000;pointer-events:none;flex-direction:column;gap:.75rem;width:100%;max-width:400px;display:flex;position:fixed;top:1.5rem;right:1.5rem}.notification{background:var(--notification-bg);color:var(--notification-text);border:1px solid var(--notification-border);box-shadow:var(--notification-shadow);pointer-events:auto;-webkit-backdrop-filter:blur(8px);transition:all .4s var(--notif-bounce);animation:notif-slide-in .5s var(--notif-bounce);cursor:pointer;border-radius:14px;align-items:flex-start;gap:.875rem;padding:1rem;display:flex;position:relative}@keyframes notif-slide-in{0%{opacity:0;transform:translate(30px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.notification:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #00000014}.notification-content{flex-direction:column;flex:1;gap:.25rem;display:flex}.notification-icon-wrap{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;display:flex}.notification-success .notification-icon-wrap{color:var(--success-accent)}.notification-error .notification-icon-wrap{color:var(--error-accent)}.notification-warning .notification-icon-wrap{color:var(--warning-accent)}.notification-info .notification-icon-wrap{color:var(--info-accent)}.notification-title{letter-spacing:-.01em;font-size:14px;font-weight:600;line-height:1.4}.notification-message{color:var(--notification-text-muted);font-size:13px;font-weight:400;line-height:1.5}.notification-close{color:var(--notification-text-muted);opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin-top:-2px;margin-right:-4px;padding:4px;transition:all .2s;display:flex}.notification-close:hover{opacity:1;color:var(--notification-text);background:#0000000d}html.dark .notification-close:hover{background:#ffffff14}@keyframes notif-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)translateY(-10px)}}.notification.removing{animation:notif-fade-out .3s var(--notif-smooth) forwards;pointer-events:none}@media (max-width:500px){.notification-container{max-width:none;padding:0 .5rem;inset:auto 1rem 1.5rem}.notification{width:100%;padding:1rem;box-shadow:0 10px 15px -3px #0000001a}}
