.pop-toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.pop-toast{pointer-events:auto;min-width:300px;max-width:450px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:flex-start;gap:12px;background:white;border-left:4px solid #ccc;transition:all .3s ease}.pop-toast.enter{animation:toast-enter .3s ease forwards}.pop-toast.exit{animation:toast-exit .3s ease forwards}@keyframes toast-enter{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes toast-exit{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.pop-toast.success{border-left-color:#10b981;background-color:#ecfdf5}.pop-toast.success .pop-toast-icon{color:#10b981}.pop-toast.error{border-left-color:#ef4444;background-color:#fef2f2}.pop-toast.error .pop-toast-icon{color:#ef4444}.pop-toast.warning{border-left-color:#f59e0b;background-color:#fffbeb}.pop-toast.warning .pop-toast-icon{color:#f59e0b}.pop-toast.info{border-left-color:#3b82f6;background-color:#eff6ff}.pop-toast.info .pop-toast-icon{color:#3b82f6}.pop-toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px}.pop-toast-content{flex-grow:1;display:flex;flex-direction:column;gap:4px}.pop-toast-message{font-size:.875rem;color:#1f2937;font-weight:500;line-height:1.4}.pop-toast-close{flex-shrink:0;background:transparent;border:none;font-size:1.25rem;color:#9ca3af;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s;margin-left:4px}.pop-toast-close:hover{color:#4b5563}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:11000;backdrop-filter:blur(2px);transition:opacity .3s ease}.modal-overlay.show{opacity:1}.modal-overlay.hide{opacity:0;pointer-events:none}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:90%;max-width:500px;max-height:90vh;padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center;transform:scale(.9);transition:transform .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.modal-overlay.show .modal-content{transform:scale(1)}.modal-icon{margin-bottom:20px}.modal-icon.success{color:#10b981}.modal-icon.error{color:#ef4444}.modal-icon.warning{color:#f59e0b}.modal-icon.info{color:#3b82f6}.modal-body{width:100%;margin-bottom:28px;overflow:hidden;display:flex;flex-direction:column}.modal-title{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:12px}.modal-message{font-size:.9375rem;color:#4b5563;line-height:1.5;word-break:break-word}.modal-message-error{max-height:400px;overflow-y:auto;padding:12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;white-space:pre-wrap;text-align:left}.modal-message-error::-webkit-scrollbar{width:8px}.modal-message-error::-webkit-scrollbar-track{background:#fee2e2;border-radius:4px}.modal-message-error::-webkit-scrollbar-thumb{background:#fca5a5;border-radius:4px}.modal-message-error::-webkit-scrollbar-thumb:hover{background:#f87171}.modal-actions{display:flex;gap:12px;width:100%;justify-content:center}.modal-btn-cancel,.modal-btn-confirm{padding:10px 24px;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent;min-width:100px}.modal-btn-cancel{background-color:white;color:#4b5563;border-color:#d1d5db}.modal-btn-cancel:hover{background-color:#f9fafb;border-color:#9ca3af}.modal-btn-confirm.success{background-color:#10b981;color:white}.modal-btn-confirm.success:hover{background-color:#059669}.modal-btn-confirm.error{background-color:#ef4444;color:white}.modal-btn-confirm.error:hover{background-color:#dc2626}.modal-btn-confirm.warning{background-color:#f59e0b;color:white}.modal-btn-confirm.warning:hover{background-color:#d97706}.modal-btn-confirm.info{background-color:#3b82f6;color:white}.modal-btn-confirm.info:hover{background-color:#2563eb}@keyframes pop-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pop-out{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}