.toast-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:9999;pointer-events:none}.toast{pointer-events:auto;min-width:300px;background:#1e293b;border:1px solid #334155;border-radius:.5rem;padding:1rem;display:flex;align-items:flex-start;gap:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;animation:slideIn .3s ease-out forwards}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #ef4444}.toast-info{border-left:4px solid #3b82f6}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-info .toast-icon{color:#3b82f6}.toast-message{flex:1;font-size:.875rem;color:#f1f5f9;line-height:1.5}.toast-close{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s}.toast-close:hover{color:#f1f5f9}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.error-boundary{min-height:400px;display:flex;align-items:center;justify-content:center;padding:2rem;background:#0f172a}.error-content{max-width:600px;text-align:center;background:#1e293b;border:1px solid #ef4444;border-radius:.75rem;padding:2rem}.error-icon{display:flex;justify-content:center;margin-bottom:1rem}.error-content h2{color:#f1f5f9;font-size:1.5rem;margin-bottom:.75rem}.error-message{color:#94a3b8;font-size:1rem;margin-bottom:1.5rem;line-height:1.6}.error-details{text-align:left;background:#0f172a;border:1px solid #334155;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.error-details summary{color:#60a5fa;cursor:pointer;font-size:.875rem;margin-bottom:.5rem}.error-details summary:hover{color:#3b82f6}.error-stack{color:#f87171;font-family:Monaco,Courier New,monospace;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;margin-top:.5rem}.error-stack strong{color:#fca5a5;display:block;margin-top:.5rem}.error-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.error-retry-btn{display:inline-flex;align-items:center;gap:.5rem;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.error-retry-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.error-retry-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.error-retry-btn.secondary{background:#334155;color:#e2e8f0}.error-retry-btn.secondary:hover{background:#475569;transform:translateY(-2px)}.error-retry-btn.text{background:transparent;color:#94a3b8;border:1px solid #334155}.error-retry-btn.text:hover{color:#e2e8f0;border-color:#475569}.error-retry-btn:active{transform:translateY(0)}.error-warning{margin-top:1.5rem;padding:1rem;background:#422006;border:1px solid #f59e0b;border-radius:.5rem;color:#fbbf24;font-size:.875rem}.error-warning p{margin:.25rem 0}.error-warning p:first-child{font-weight:600}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.loading-container.small{padding:1rem}.loading-container.large{min-height:300px}.loading-spinner{position:relative;width:60px;height:60px}.loading-container.small .loading-spinner{width:30px;height:30px}.loading-container.large .loading-spinner{width:80px;height:80px}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:#60a5fa;border-radius:50%;animation:spin 1.5s cubic-bezier(.68,-.55,.265,1.55) infinite}.spinner-ring:nth-child(2){border-top-color:#3b82f6;animation-delay:-.5s}.spinner-ring:nth-child(3){border-top-color:#2563eb;animation-delay:-1s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{margin-top:1rem;font-size:.875rem;color:#94a3b8;font-weight:500}.loading-container.small .loading-message{font-size:.75rem;margin-top:.5rem}
