.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.error-boundary-content{background:#fffffff2;border-radius:20px;padding:3rem;max-width:600px;text-align:center;box-shadow:0 20px 60px #0000004d}.error-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.error-boundary-content h1{color:#333;font-size:2rem;margin-bottom:1rem}.error-message{color:#666;font-size:1.1rem;margin-bottom:2rem;line-height:1.6}.error-details{text-align:left;margin:2rem 0;background:#f5f5f5;border-radius:8px;padding:1rem}.error-details summary{cursor:pointer;font-weight:600;color:#667eea;margin-bottom:1rem}.error-stack{background:#2d2d2d;color:#f8f8f2;padding:1rem;border-radius:4px;overflow-x:auto;font-size:.85rem;line-height:1.5}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-actions button{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover{background:#e0e0e0;transform:translateY(-2px)}@media(max-width:768px){.error-boundary-content{padding:2rem 1.5rem}.error-boundary-content h1{font-size:1.5rem}.error-message{font-size:1rem}.error-actions{flex-direction:column}.error-actions button{width:100%}}
